SuperJane website logo
HTTPHeaders

Request Headers 📡

รายละเอียดเกี่ยวกับ HTTP Request Headers และตัวอย่างการใช้งาน

Request Headers 📡

🔍 Request Headers คืออะไร?

Request Headers เป็นส่วนหนึ่งของ HTTP Request ที่ใช้ในการส่งข้อมูลเพิ่มเติมจากไคลเอนต์ (เช่น เว็บเบราว์เซอร์) ไปยังเซิร์ฟเวอร์ 📡

ข้อมูลเหล่านี้สามารถใช้เพื่อระบุไคลเอนต์, ยืนยันตัวตน, จัดการแคช, และควบคุมพฤติกรรมของการเชื่อมต่อกับเซิร์ฟเวอร์


📜 ตัวอย่าง Request Headers ที่สำคัญ

1️⃣ Authentication Headers 🛡️

ใช้สำหรับยืนยันตัวตนและให้สิทธิ์การเข้าถึง

  • Authorization: ส่งข้อมูลรับรองตัวตนไปยังเซิร์ฟเวอร์
  • Proxy-Authorization: ส่งข้อมูลรับรองตัวตนไปยังพร็อกซี่เซิร์ฟเวอร์

📌 ตัวอย่าง:

Authorization: Bearer your_access_token

2️⃣ Caching Headers 🔄

ใช้ควบคุมการแคชของข้อมูลระหว่างเซิร์ฟเวอร์และไคลเอนต์

  • Cache-Control: กำหนดเงื่อนไขการแคชข้อมูล
  • Pragma (Deprecated): ใช้ใน HTTP/1.0 เพื่อจัดการแคช
  • If-Modified-Since: ใช้เพื่อร้องขอทรัพยากรเฉพาะเมื่อมีการเปลี่ยนแปลง
  • If-None-Match: ใช้ตรวจสอบว่าไฟล์มีการเปลี่ยนแปลงหรือไม่

📌 ตัวอย่าง:

Cache-Control: no-cache
If-Modified-Since: Wed, 21 Oct 2023 07:28:00 GMT

3️⃣ Client Information Headers 🖥️

ให้ข้อมูลเกี่ยวกับไคลเอนต์และอุปกรณ์ที่ใช้

  • User-Agent: บอกรายละเอียดของเบราว์เซอร์และระบบปฏิบัติการ
  • Referer: ระบุ URL ที่ไคลเอนต์เข้าถึงมาก่อน
  • Accept: บอกเซิร์ฟเวอร์ว่ารับรูปแบบข้อมูลใดได้บ้าง
  • Accept-Language: บอกเซิร์ฟเวอร์ว่าชอบภาษาไหน
  • Accept-Encoding: บอกว่ารองรับการบีบอัดแบบใดบ้าง

📌 ตัวอย่าง:

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Accept: application/json
Accept-Language: th-TH
Accept-Encoding: gzip, deflate, br

4️⃣ CORS Headers (Cross-Origin Resource Sharing) 🌍

ควบคุมการเรียก API หรือทรัพยากรข้ามโดเมน

  • Origin: บอกเซิร์ฟเวอร์ว่าคำขอมาจากไหน
  • Access-Control-Request-Method: ใช้ในการร้องขอแบบ Preflight Request
  • Access-Control-Request-Headers: ระบุว่าเฮดเดอร์ใดจะถูกส่งในการร้องขอจริง

📌 ตัวอย่าง:

Origin: https://example.com
Access-Control-Request-Method: POST

5️⃣ Security Headers 🔒

ใช้เพิ่มความปลอดภัยของการร้องขอ

  • DNT (Do Not Track) (Deprecated): บอกเว็บไซต์ว่าไม่ต้องติดตามผู้ใช้
  • Sec-Fetch-Site: ระบุว่าการร้องขอมาจากที่ไหน (same-origin, cross-site)
  • Sec-Fetch-Mode: ระบุโหมดของการร้องขอ (navigate, no-cors, cors)

📌 ตัวอย่าง:

Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors

📌 สรุป

Request Headers เป็นส่วนสำคัญของ HTTP Request ที่ช่วยให้ไคลเอนต์สามารถสื่อสารกับเซิร์ฟเวอร์ได้อย่างมีประสิทธิภาพ 🚀

  • ใช้ในการระบุตัวตน, ควบคุมการแคช, ส่งข้อมูลเกี่ยวกับไคลเอนต์, จัดการการแชร์ข้อมูลข้ามโดเมน, และเพิ่มความปลอดภัย

💡 การทำความเข้าใจและใช้งาน Request Headers อย่างถูกต้องจะช่วยเพิ่มประสิทธิภาพและความปลอดภัยของแอปพลิเคชันของคุณ!