6.1 ประเภทของหัวเรื่อง

ส่วนหัวคำขอ httpเป็นข้อมูลบริการสำหรับไคลเอนต์ http และเซิร์ฟเวอร์ http แต่มันสำคัญมาก และถ้าคุณไม่เข้าใจเลย มันมักจะเข้าข้างคุณ อย่างน้อยก็อ่านเกี่ยวกับพวกเขา

ส่วนหัว http ทั้งหมดสามารถแบ่งออกเป็น 4 กลุ่มหลัก:

# ประเภทส่วนหัว คำอธิบาย บันทึก
1 ส่วนหัวทั่วไป หัวเรื่องทั่วไป ใช้ในการร้องขอและการตอบสนอง
2 ส่วนหัวของคำขอ ส่วนหัวของคำขอ ใช้ในการร้องขอเท่านั้น
3 ส่วนหัวของการตอบสนอง ส่วนหัวของการตอบสนอง ใช้ในการตอบกลับเท่านั้น
4 ส่วนหัวของเอนทิตี ส่วนหัวของเอนทิตี มาพร้อมกับเอนทิตีข้อความแต่ละรายการ

6.2 ตัวแทนผู้ใช้

ส่วนหัวที่สำคัญและเป็นที่นิยมที่สุดคือUser- Agent นี่คือสตริงพิเศษที่อธิบายว่าไคลเอ็นต์ใดกำลังส่งคำขอไปยังเซิร์ฟเวอร์ นี่คือชื่อของลูกค้า

บ่อยครั้งที่เซิร์ฟเวอร์จะปรับแต่งการตอบสนองเล็กน้อยต่อผู้ร้องขอ ตัวอย่างเช่น หากคำขอนั้นชัดเจนว่าคำขอนั้นมาจากเบราว์เซอร์โทรศัพท์มือถือ ก็สามารถกำหนดหน้า HTML เวอร์ชันสำหรับมือถือได้

ไม่ใช่เรื่องแปลกที่สแปมบอท ตัวจัดการการดาวน์โหลด และเบราว์เซอร์บางตัวจะส่งสตริงUser-Agent ปลอม เพื่อแสร้งทำเป็นลูกค้าที่ถูกต้อง สถานการณ์นี้เรียกว่าการปลอมแปลงโดยตัวแทนผู้ใช้หรือการปลอมแปลงโดยตัวแทนผู้ใช้

ตัวอย่างเช่น User-Agent ของฉันมีลักษณะดังนี้:

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0

ประกอบด้วยข้อมูลเกี่ยวกับเบราว์เซอร์ ระบบปฏิบัติการ และเว็บเอ็นจิ้นของเบราว์เซอร์

6.3 ประเภทเนื้อหา

ส่วนหัวที่ได้รับความนิยมรองลงมาคือContent- Type ใช้เพื่อกำหนดประเภท MIME ของทรัพยากรที่เซิร์ฟเวอร์ให้บริการ

แม้แต่ในช่วงเริ่มต้นของอินเทอร์เน็ต ประเภทของเนื้อหาสื่อที่ส่งก็ยังได้รับมาตรฐานเพื่อความสะดวก เรียกว่าInternet Media Typesหรือเรียก สั้นๆ ว่า MimeTypes พวกเขาแบ่งออกเป็น 9 ประเภท:

  • แอปพลิเคชัน
  • เสียง
  • ตัวอย่าง
  • ภาพ
  • ข้อความ
  • แบบอย่าง
  • หลายส่วน
  • ข้อความ
  • วิดีโอ

ตัวอย่าง:

หมวดหมู่ พิมพ์ คำอธิบาย
เสียง เครื่องเสียง/mp4 ไฟล์เสียงในรูปแบบ mp4
เครื่องเสียง/aac ไฟล์เสียง AAC
ภาพ รูปภาพ/gif ภาพ gif
ภาพ/jpeg ภาพ JPEG
ภาพ/png รูปภาพ png
ข้อความ ข้อความ/css ไฟล์ CSS
ข้อความ/html ไฟล์ HTML
วิดีโอ วิดีโอ/mpeg ไฟล์วิดีโอในรูปแบบ mpeg
วิดีโอ/เว็บเอ็ม ไฟล์วิดีโอในรูปแบบเว็บเอ็ม
วิดีโอ/3gpp ไฟล์วิดีโอในรูปแบบ 3gpp
แอปพลิเคชัน แอปพลิเคชัน/x-www-form-urlencoded ข้อมูลที่เข้ารหัส
ใบสมัคร/zip ไฟล์ซิป
แอปพลิเคชัน/จาวาสคริปต์ จาวาสคริปต์
แอปพลิเคชัน/xml XML

โดยปกติแล้วเซิร์ฟเวอร์จะรู้ว่าข้อมูลใดที่ให้ข้อมูล แต่ถ้าคุณสร้างการตอบกลับของเซิร์ฟเวอร์ด้วยรหัสของคุณเอง คุณต้องระบุประเภทการตอบกลับ (Content-Type) ของเซิร์ฟเวอร์ของคุณ

6.4 ความยาวของเนื้อหา

ส่วนหัวนี้ระบุ ความ ยาวของการตอบสนองของเซิร์ฟเวอร์ ถ้าพูดง่ายๆ ก็คือ ขนาดของไฟล์ที่กำหนด คุณไม่จำเป็นต้องตั้งค่าตัวเลือกนี้ด้วยตนเอง แม้ว่าจะเป็นประโยชน์ในการดูว่าเซิร์ฟเวอร์ให้อะไร แต่ถ้าด้วยเหตุผลบางอย่างคำตอบไม่ได้มาทั้งหมด

6.5 ยอมรับการเข้ารหัส

ด้วยส่วนหัวนี้ ไคลเอ็นต์สามารถระบุให้เซิร์ฟเวอร์ทราบว่าสนับสนุน อัลกอริ ทึมการบีบอัดเนื้อหา ต่างๆ ดังนั้น เซิร์ฟเวอร์สามารถเก็บถาวรเนื้อหาก่อน เช่น ด้วยไฟล์ zip แล้วจึงส่งไปยังไคลเอนต์ และไคลเอ็นต์สามารถกู้คืนเนื้อหาต้นฉบับได้อย่างถูกต้อง

ข้อดีของการเก็บถาวรคือยิ่งไฟล์มีขนาดเล็กเท่าใด การถ่ายโอนก็จะเร็วขึ้นเท่านั้น ข้อเสียของการเก็บถาวร - โหลดเพิ่มเติมบนไคลเอนต์และบนเซิร์ฟเวอร์ การเก็บถาวรเหมาะสมเมื่อถ่ายโอนไฟล์ขนาดใหญ่ และมักจะไม่สมเหตุสมผลเมื่อถ่ายโอนไฟล์ขนาดเล็ก

ตัวอย่างของส่วนหัวดังกล่าว:

Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5

deflateอัลกอริทึมการบีบอัดข้อมูลที่รองรับ อยู่ที่ไหนgzipและqระบุระดับการบีบอัด