req.protocol ใน ExpressJS

ใน ExpressJS req.protocol เป็นคุณสมบัติที่เก็บโปรโตคอลของคำขอ โปรโตคอลคือส่วนที่เริ่มต้นของ URL ของคำขอและระบุประเภทของการเชื่อมต่อเครือข่ายที่ใช้ในการส่งคำขอ

ตัวอย่างเช่น หากคุณมีแอปพลิเคชัน ExpressJS ที่ทำงานบน http://localhost:3000/ และผู้ใช้ส่งคำขอไปยัง URL http://localhost:3000/users/12345 req.protocol จะถูกตั้งค่าเป็น “http”

หากต้องการใช้ req.protocol ใน ExpressJS คุณสามารถใช้สิ่งนี้ในโค้ดของคุณ:

1
2
3
4
5
6
7
8
const app = express();

app.get("/", function(req, res) {
const protocol = req.protocol;
res.send("The protocol is: " + protocol);
});

app.listen(3000);

เมื่อคุณเรียกใช้โค้ดนี้และเข้าถึง URL http://localhost:3000/ คุณจะเห็นข้อความ “The protocol is: http” ในคอนโซล

req.protocol มีประโยชน์เมื่อคุณต้องการเข้าถึงโปรโตคอลของคำขอ ตัวอย่างเช่น คุณอาจต้องการใช้ req.protocol เพื่อตรวจสอบว่าคำขอกำลังถูกส่งผ่าน HTTP หรือ HTTPS

req.protocol แตกต่างจาก req.hostname ในสองวิธี:

  • req.hostname จะคืนค่าชื่อโฮสต์ของเซิร์ฟเวอร์ที่รับคำขอ
  • req.protocol จะคืนค่าโปรโตคอลของคำขอ