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
ระบุระดับการบีบอัด
GO TO FULL VERSION