ใน ExpressJS req.protocol เป็นคุณสมบัติที่เก็บโปรโตคอลของคำขอ โปรโตคอลคือส่วนที่เริ่มต้นของ URL ของคำขอและระบุประเภทของการเชื่อมต่อเครือข่ายที่ใช้ในการส่งคำขอ
ตัวอย่างเช่น หากคุณมีแอปพลิเคชัน ExpressJS ที่ทำงานบน http://localhost:3000/ และผู้ใช้ส่งคำขอไปยัง URL http://localhost:3000/users/12345 req.protocol จะถูกตั้งค่าเป็น “http”
หากต้องการใช้ req.protocol ใน ExpressJS คุณสามารถใช้สิ่งนี้ในโค้ดของคุณ:
1 | const app = express(); |
เมื่อคุณเรียกใช้โค้ดนี้และเข้าถึง URL http://localhost:3000/ คุณจะเห็นข้อความ “The protocol is: http” ในคอนโซล
req.protocol มีประโยชน์เมื่อคุณต้องการเข้าถึงโปรโตคอลของคำขอ ตัวอย่างเช่น คุณอาจต้องการใช้ req.protocol เพื่อตรวจสอบว่าคำขอกำลังถูกส่งผ่าน HTTP หรือ HTTPS
req.protocol แตกต่างจาก req.hostname ในสองวิธี:
- req.hostname จะคืนค่าชื่อโฮสต์ของเซิร์ฟเวอร์ที่รับคำขอ
- req.protocol จะคืนค่าโปรโตคอลของคำขอ