HTTP Headers 📨
เรียนรู้เกี่ยวกับ HTTP Headers และประเภทต่าง ๆ ที่ใช้ในโปรโตคอล HTTP
HTTP Headers 📨
HTTP Headers ช่วยให้ไคลเอนต์และเซิร์ฟเวอร์สามารถส่งข้อมูลเพิ่มเติมไปพร้อมกับคำขอและการตอบกลับได้ 📡 ใน HTTP/1.x หัวข้อเฮดเดอร์จะเป็นชื่อที่ไม่คำนึงถึงตัวพิมพ์ใหญ่-เล็ก ตามด้วยเครื่องหมาย ":" และค่าของเฮดเดอร์ ส่วนใน HTTP/2 และสูงกว่า เฮดเดอร์จะแสดงเป็นตัวพิมพ์เล็กและบางเฮดเดอร์จะถูกนำหน้าด้วย ":" เพื่อใช้สำหรับ pseudo-headers (เช่น :status: 200).
🔥 ประเภทของ HTTP Headers
1️⃣ Request Headers 📨
เฮดเดอร์ที่ให้ข้อมูลเพิ่มเติมเกี่ยวกับทรัพยากรที่ต้องการดึง หรือข้อมูลเกี่ยวกับไคลเอนต์
2️⃣ Response Headers 🎯
ให้ข้อมูลเพิ่มเติมเกี่ยวกับการตอบกลับ เช่น ตำแหน่งของทรัพยากร หรือรายละเอียดเกี่ยวกับเซิร์ฟเวอร์
3️⃣ Representation Headers 📦
ให้ข้อมูลเกี่ยวกับเนื้อหาของทรัพยากร เช่น MIME Type หรือการเข้ารหัสที่ใช้
4️⃣ Payload Headers 📏
ให้ข้อมูลเกี่ยวกับข้อมูลที่ถูกส่ง เช่น ขนาดของเนื้อหา หรือการเข้ารหัสที่ใช้ในการส่งข้อมูล
🛡️ Authentication Headers
WWW-Authenticate: กำหนดวิธีการยืนยันตัวตนAuthorization: ส่งข้อมูลรับรองตัวตนของไคลเอนต์ไปยังเซิร์ฟเวอร์Proxy-Authenticate: กำหนดวิธีการยืนยันตัวตนเมื่อมีพร็อกซี่เซิร์ฟเวอร์Proxy-Authorization: ส่งข้อมูลรับรองตัวตนไปยังพร็อกซี่
ที่มา MDN Web Docs
🚀 Caching Headers
Cache-Control: กำหนดนโยบายการแคชExpires: กำหนดเวลาหมดอายุของข้อมูลในแคชAge: ระยะเวลาที่ข้อมูลอยู่ในแคชClear-Site-Data: ล้างข้อมูลที่จัดเก็บไว้ (คุกกี้, แคช, การตั้งค่า)
📌 ตัวอย่าง:
🔄 Conditional Headers
Last-Modified: วันที่มีการเปลี่ยนแปลงล่าสุดETag: รหัสเฉพาะของเวอร์ชันทรัพยากรIf-Modified-Since: เช็คว่าทรัพยากรมีการเปลี่ยนแปลงตั้งแต่วันที่กำหนดหรือไม่If-None-Match: ใช้เช็คว่า ETag ตรงกับที่เซิร์ฟเวอร์มีหรือไม่
🔗 CORS Headers
Access-Control-Allow-Origin: กำหนดว่าทรัพยากรสามารถใช้ได้จากโดเมนใดบ้างAccess-Control-Allow-Methods: กำหนดว่าเมธอดใดสามารถใช้ได้Access-Control-Allow-Headers: กำหนดว่าหัวข้อเฮดเดอร์ใดที่สามารถส่งมาได้
📌 ตัวอย่าง:
🔄 Content Headers
Content-Type: ระบุประเภทของข้อมูล (เช่นapplication/json)Content-Length: ขนาดของข้อมูล (เป็นไบต์)Content-Encoding: กำหนดการบีบอัด (gzip,br)Content-Language: ระบุภาษาของข้อมูลที่ส่งไป
📌 ตัวอย่าง:
🔄 Security Headers
Strict-Transport-Security (HSTS): บังคับให้ใช้ HTTPSX-Frame-Options: ป้องกันการฝัง iframe ที่เป็นอันตรายX-Content-Type-Options: ป้องกันการเปลี่ยนแปลง MIME TypeContent-Security-Policy (CSP): กำหนดนโยบายด้านความปลอดภัยของเนื้อหา
📌 ตัวอย่าง:
🔍 Redirect Headers
Location: ใช้สำหรับเปลี่ยนเส้นทางไปยัง URL อื่นRefresh: สั่งให้เบราว์เซอร์โหลดหน้าใหม่
📌 ตัวอย่าง:
📡 WebSockets Headers
Sec-WebSocket-Key: คีย์สำหรับยืนยัน WebSocket handshakeSec-WebSocket-Accept: ค่าที่ใช้ตรวจสอบ WebSocket handshake
📌 Headers ที่เลิกใช้แล้ว (Deprecated)
Pragma: ใช้สำหรับแคช (แทนที่ด้วยCache-Control)DNT: Do Not Track (เลิกใช้แล้ว)
📚 สรุป
HTTP Headers เป็นส่วนสำคัญของการสื่อสารในเว็บ แอปพลิเคชันที่ปลอดภัยและมีประสิทธิภาพควรใช้เฮดเดอร์เหล่านี้อย่างถูกต้อง ✅
(1).302eff80.png&w=3840&q=75)