อ่าน 16 นาที
รายการฟิลด์ส่วนหัว HTTP
บทความนี้แสดงรายการ ฟิลด์ส่วนหัว HTTP มาตรฐานและฟิลด์ที่ไม่เป็นมาตรฐานที่น่าสนใจ
รายการฟิลด์ส่วนหัว HTTP
| ทศนิยม |
|---|
| วิธีการร้องขอ |
| ช่องส่วนหัว |
| รหัสสถานะการตอบสนอง |
| วิธีการควบคุมการเข้าถึงด้านความปลอดภัย |
| ช่องโหว่ด้านความปลอดภัย |
บทความนี้แสดงรายการ ฟิลด์ส่วนหัว HTTPมาตรฐานและฟิลด์ที่ไม่เป็นมาตรฐานที่น่าสนใจ
ชุดฟิลด์หลักได้รับการกำหนดมาตรฐานโดยInternet Engineering Task Force (IETF) ในRFC 9110และ9111ชื่อฟิลด์ฟิลด์ส่วนหัวและคลังข้อมูลการลงทะเบียนชั่วคราวได้รับการดูแลโดยIANAแอ ปพลิเคชันบนเว็บอาจกำหนดฟิลด์เพิ่มเติมได้
ในอดีต ชื่อฟิลด์ส่วนหัวที่ไม่เป็นมาตรฐานจะขึ้นต้นด้วยX-แต่ธรรมเนียมนี้ถูกยกเลิกในเดือนมิถุนายน พ.ศ. 2555 เนื่องจากความไม่สะดวกที่เกิดขึ้นเมื่อฟิลด์ที่ไม่เป็นมาตรฐานกลายเป็นมาตรฐาน[ 1 ]ข้อจำกัดก่อนหน้านี้เกี่ยวกับการใช้Downgraded-ถูกยกเลิกในเดือนมีนาคม พ.ศ. 2556 [ 2 ]
ค่าฟิลด์บางค่าอาจมีข้อคิดเห็น (เช่น ในฟิลด์ User-Agent, Server, Via) ซึ่งซอฟต์แวร์สามารถละเว้นได้[ 3 ]
ค่าฟิลด์จำนวนมากอาจมี คู่คีย์-ค่าคุณภาพ ( q ) ที่คั่นด้วย เครื่องหมายเท่ากับซึ่งระบุน้ำหนักที่จะใช้ใน การ เจรจาเนื้อหา[ 4 ]ตัวอย่างเช่น เบราว์เซอร์อาจระบุว่ายอมรับข้อมูลเป็นภาษาเยอรมันหรือภาษาอังกฤษ โดยเลือกภาษาเยอรมันเป็นหลักโดยการตั้ง ค่าค่า qให้deสูงกว่าค่า q enดังต่อไปนี้:
Accept-Language: de; q=1.0, en; q=0.5
ช่องคำขอ
ส่วนนี้แสดงรายการฟิลด์ส่วนหัวที่ใช้ในการ ร้องขอ
ช่องคำขอมาตรฐาน
จุดมุ่งหมาย
[RFC 3229, ถาวร] การจัดการอินสแตนซ์ที่ยอมรับได้สำหรับคำขอ[ 5 ]
ตัวอย่างเช่น:A-IM: feed
ยอมรับ
[RFC 9110, ถาวร] ประเภทสื่อที่ยอมรับได้สำหรับการตอบกลับ ดูการ เจรจาเนื้อหา
ตัวอย่างเช่น:Accept: text/html
ยอมรับอักขระ
[RFC 9110, ฉบับถาวร] ชุดอักขระที่ยอมรับได้
ตัวอย่างเช่น:Accept-Charset: utf-8
ยอมรับ-วันที่และเวลา
[RFC 7089, ฉบับชั่วคราว] เวอร์ชันที่ยอมรับได้ทันเวลา
ตัวอย่างเช่น:Accept-Datetime: Thu, 31 May 2007 20:35:00 GMT
ยอมรับการเข้ารหัส
[RFC 9110, ถาวร] รายการการเข้ารหัสที่ยอมรับได้ ดู การ บีบ อัด HTTP
ตัวอย่างเช่น:Accept-Encoding: gzip, deflate
ยอมรับภาษา
[RFC 9110, ถาวร] รายชื่อภาษาที่มนุษย์ยอมรับได้สำหรับการตอบกลับ ดู การ เจรจา เนื้อหา
ตัวอย่างเช่น:Accept-Language: en-US
วิธีการร้องขอการควบคุมการเข้าถึง, ส่วนหัวของการร้องขอการควบคุมการเข้าถึง
[ถาวร] เริ่มการร้องขอการแบ่งปันทรัพยากรข้ามต้นทางกับOrigin (ด้านล่าง) [ 6 ]
ตัวอย่างเช่น:Access-Control-Request-Method: GET
การอนุญาต
[RFC 9110, ถาวร] ข้อมูลประจำตัวสำหรับ การตรวจสอบ สิทธิ์ HTTP
ตัวอย่างเช่น:Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
แคช-คอนโทรล
[RFC 9111, ถาวร] ใช้เพื่อระบุคำสั่งที่ต้องปฏิบัติตามโดยกลไกการแคชทั้งหมดตลอดห่วงโซ่การร้องขอ-ตอบกลับ ตาม HTTP/1.1 no-cacheค่านี้อนุญาตให้เบราว์เซอร์บอกเซิร์ฟเวอร์และแคชระดับกลางว่าต้องการเวอร์ชันใหม่ของทรัพยากร ฟิลด์ส่วนหัวของ HTTP/1.0 Pragma: no-cacheมีวัตถุประสงค์เดียวกัน[ 7 ]
พฤติกรรมPragma: no-cacheในการตอบสนองยังไม่ได้รับการระบุ แต่เอเจนต์ผู้ใช้บางตัวรองรับ[ 8 ] HTTP/1.1 เตือนอย่างชัดเจนไม่ให้พึ่งพาพฤติกรรมนี้
ตัวอย่างเช่น:Cache-Control: no-cache
การเชื่อมต่อ
[RFC 9110, ถาวร] ตัวเลือกควบคุมสำหรับการเชื่อมต่อปัจจุบันและรายการฟิลด์คำขอแบบทีละฮอป[ 9 ] ห้ามใช้กับ HTTP/2 [ 10 ]
ตัวอย่างเช่น:Connection: keep-aliveConnection: Upgrade
เนื้อหา-สรุป
[RFC 9530, ฟิลด์ไดเจสต์] [ 11 ]ส่วนหัว Content-Digest ช่วยให้สามารถตรวจสอบความสมบูรณ์ของเนื้อหาข้อความได้โดยการคำนวณไดเจสต์จากไบต์จริงที่ส่งในข้อความ HTTP ไดเจสต์นี้สะท้อนถึงเนื้อหาหลังจากใช้การแปลงเช่น Content-Encoding ซึ่งตรงกับสิ่งที่เดินทางผ่านเครือข่ายอย่างแม่นยำ
การเข้ารหัสเนื้อหา
[RFC 9110, ถาวร] ประเภทของการเข้ารหัสที่ใช้กับข้อมูล ดู การ บีบ อัด HTTP
ตัวอย่างเช่น:Content-Encoding: gzip
ความยาวเนื้อหา
[RFC 9110, ถาวร] ความยาวของเนื้อหาคำขอในหน่วยอ็อกเท็ต (ไบต์ 8 บิต)
ตัวอย่างเช่น:Content-Length: 348
เนื้อหา-MD5
[RFC 1544, 1864, 4021, ล้าสมัย] ผลรวม MD5ไบนารีที่เข้ารหัสBase64ของเนื้อหาในส่วนเนื้อหาของคำขอ[ 12 ]
ตัวอย่างเช่น:Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
ประเภทเนื้อหา
[RFC 9110, ถาวร] ประเภทสื่อของเนื้อหาในคำขอ (ใช้กับคำขอ POST และ PUT)
ตัวอย่างเช่น:Content-Type: application/x-www-form-urlencoded
คุกกี้
[RFC 2965, 6265, ถาวร] คุกกี้ HTTPที่เซิร์ฟเวอร์ส่งมาก่อนหน้านี้Set-Cookie(ด้านล่าง)
ตัวอย่างเช่น:Cookie: $Version=1; Skin=new;
วันที่
[RFC 9110, ถาวร] วันและเวลาที่ส่งข้อความ (ในรูปแบบ "HTTP-date" ตามที่กำหนดไว้ในRFC 9110: HTTP Semantics, ส่วนที่ 5.6.7 "รูปแบบวันที่/เวลา" )
ตัวอย่างเช่น:Date: Tue, 15 Nov 1994 08:12:31 GMT
คาดหวัง
[RFC 9110, ถาวร] ระบุว่าไคลเอนต์ต้องการพฤติกรรมเฉพาะของเซิร์ฟเวอร์
ตัวอย่างเช่น:Expect: 100-continue
ส่งต่อ
[RFC 7239, ถาวร] เปิดเผยข้อมูลดั้งเดิมของไคลเอนต์ที่เชื่อมต่อกับเว็บเซิร์ฟเวอร์ผ่านพร็อกซี HTTP [ 13 ]
ตัวอย่างเช่น:Forwarded: for=192.0.2.60;proto=http;by=203.0.113.43Forwarded: for=192.0.2.43, for=198.51.100.17
จาก
[RFC 9110, ถาวร] ที่อยู่อีเมลของผู้ใช้ที่ส่งคำขอ
ตัวอย่างเช่น:From: [email protected]
เจ้าภาพ
[RFC 9110, 9113, ถาวร] ชื่อโดเมนของเซิร์ฟเวอร์ (สำหรับการโฮสต์เสมือน ) และ หมายเลข พอร์ต TCPที่เซิร์ฟเวอร์กำลังรับฟัง หมายเลข พอร์ตอาจถูกละเว้นได้หากพอร์ตนั้นเป็นพอร์ตมาตรฐานสำหรับบริการที่ร้องขอ บังคับตั้งแต่ HTTP/1.1 [ 14 ]หากคำขอถูกสร้างขึ้นโดยตรงใน HTTP/2 ไม่ควรใช้[ 15 ]
ตัวอย่างเช่น:Host: en.wikipedia.org:8080Host: en.wikipedia.org
การตั้งค่า HTTP2
[RFC 7540, 9113, ล้าสมัย] คำขอที่อัปเกรดจาก HTTP/1.1 เป็น HTTP/2 ต้องมีHTTP2-Settingsฟิลด์ส่วนหัว เพียงฟิลด์เดียว HTTP2-Settingsฟิลด์ส่วนหัวนี้เป็นฟิลด์ส่วนหัวเฉพาะการเชื่อมต่อซึ่งมีพารามิเตอร์ที่ควบคุมการเชื่อมต่อ HTTP/2 โดยจัดเตรียมไว้ล่วงหน้าเมื่อเซิร์ฟเวอร์ยอมรับคำขออัปเกรด[ 16 ] [ 17 ]
ตัวอย่างเช่น:HTTP2-Settings: token64
ถ้าตรงกัน
[RFC 9110, ถาวร] ดำเนินการเฉพาะเมื่อเอนทิตีที่ไคลเอ็นต์ให้มาตรงกับเอนทิตีเดียวกันบนเซิร์ฟเวอร์เท่านั้น โดยหลักแล้วใช้สำหรับเมธอดต่างๆ เช่น PUT เพื่ออัปเดตทรัพยากรก็ต่อเมื่อทรัพยากรนั้นไม่ได้ถูกแก้ไขนับตั้งแต่ผู้ใช้ทำการอัปเดตครั้งล่าสุด
ตัวอย่างเช่น:If-Match: "737060cd8c284d8af7ad3082f209582d"
ถ้า-แก้ไขตั้งแต่
[RFC 9110, ถาวร] อนุญาตให้ส่งคืน รหัส 304 Not Modified หากเนื้อหาไม่เปลี่ยนแปลง
ตัวอย่างเช่น:If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
ถ้าไม่มีการจับคู่
[RFC 9110, ถาวร] อนุญาตให้ส่งคืน รหัส 304 Not Modified หากเนื้อหาไม่เปลี่ยนแปลง ดู HTTP ETag
ตัวอย่างเช่น:If-None-Match: "737060cd8c284d8af7ad3082f209582d"
ถ้าช่วง
[RFC 9110, ถาวร] หากเอนทิตีไม่มีการเปลี่ยนแปลง โปรดส่งส่วนที่ฉันขาดไปให้ มิฉะนั้น โปรดส่งเอนทิตีใหม่ทั้งหมดไปให้
ตัวอย่างเช่น:If-Range: "737060cd8c284d8af7ad3082f209582d"
ถ้า-ไม่แก้ไข-ตั้งแต่
[RFC 9110, ถาวร] ส่งการตอบกลับเฉพาะในกรณีที่เอนทิตีนั้นไม่ได้ถูกแก้ไขนับตั้งแต่เวลาที่กำหนดเท่านั้น
ตัวอย่างเช่น:If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT
แม็กซ์ฟอร์เวิร์ด
[RFC 9110, ถาวร] จำกัดจำนวนครั้งที่ข้อความสามารถส่งต่อผ่านพร็อกซีหรือเกตเวย์ได้
ตัวอย่างเช่น:Max-Forwards: 10
ต้นทาง
[RFC 6454, ถาวร] เริ่มต้นการร้องขอการแบ่งปันทรัพยากรข้ามต้นทาง (ขอ ฟิลด์การตอบสนอง Access-Control-* จากเซิร์ฟเวอร์ ) [ 6 ]
ตัวอย่างเช่น:Origin: http://www.example-social-network.com
ปรากมา
[RFC 9111, ล้าสมัย] ฟิลด์เฉพาะการใช้งานที่อาจมีผลกระทบหลากหลายในทุกจุดตลอดห่วงโซ่การร้องขอและการตอบสนอง
ตัวอย่างเช่น:Pragma: no-cache
ชอบมากกว่า
[RFC 7240, ถาวร] อนุญาตให้ไคลเอ็นต์ร้องขอให้เซิร์ฟเวอร์ใช้พฤติกรรมบางอย่างขณะประมวลผลคำขอ
ตัวอย่างเช่น:Prefer: return=representation
การอนุญาตพร็อกซี
[RFC 9110, ถาวร] ข้อมูลประจำตัวการอนุญาตสำหรับการเชื่อมต่อกับพร็อกซี
ตัวอย่างเช่น:Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
พิสัย
[RFC 9110, ถาวร] ร้องขอเพียงบางส่วนของเอนทิตีเท่านั้น ไบต์จะถูกนับจาก 0 ดู การให้ บริการ ไบต์
ตัวอย่างเช่น:Range: bytes=500-999
ผู้อ้างอิง [ sic ]
[RFC 9110, ถาวร] ที่อยู่ของเว็บเพจก่อนหน้าที่คลิกลิงก์ไปยังหน้าเว็บที่ร้องขอในปัจจุบัน
แม้ว่าคำที่ถูกต้องควรสะกดว่า "referrer" แต่การสะกดผิดนี้ปรากฏอยู่ใน RFC รวมถึงในการใช้งานส่วนใหญ่ ดังนั้นจึงถือว่าเป็นคำศัพท์ที่ถูกต้อง
ตัวอย่างเช่น:Referer: http://en.wikipedia.org/wiki/Main_Page
ทีอี
[RFC 9110, ถาวร] การเข้ารหัสการถ่ายโอนที่ตัวแทนผู้ใช้ยินดีรับ: สามารถใช้ค่าเดียวกันกับฟิลด์ส่วนหัวการตอบสนอง Transfer-Encoding ได้ บวกกับค่า "trailers" (ที่เกี่ยวข้องกับวิธีการถ่ายโอนแบบ " chunked ") เพื่อแจ้งให้เซิร์ฟเวอร์ทราบว่าคาดว่าจะได้รับฟิลด์เพิ่มเติมในส่วนท้ายหลังจากส่วนสุดท้ายที่มีขนาดเป็นศูนย์trailersรองรับเฉพาะใน HTTP/2 เท่านั้น [ 10 ]
ตัวอย่างเช่น:TE: trailers, deflate
ตัวอย่าง
[RFC 9110, ถาวร] ค่าฟิลด์ทั่วไปของส่วนท้าย (Trailer general field value) บ่งชี้ว่าชุดฟิลด์ส่วนหัวที่กำหนดนั้นมีอยู่ในส่วนท้ายของข้อความที่เข้ารหัสด้วยการเข้ารหัสการถ่ายโอนแบบแบ่งส่วน (chunked transfer coding )
ตัวอย่างเช่น:Trailer: Max-Forwards
การเข้ารหัสการถ่ายโอน
[RFC 9110, ถาวร] รูปแบบการเข้ารหัสที่ใช้ในการถ่ายโอนเอนทิตีไปยังผู้ใช้อย่างปลอดภัยวิธีการที่กำหนดไว้ในปัจจุบันได้แก่chunked , compress, deflate, gzip, identity ห้ามใช้กับ HTTP/2 [ 10 ]
ตัวอย่างเช่น:Transfer-Encoding: chunked
ตัวแทนผู้ใช้
[RFC 9110, ถาวร] สตริงเอเจนต์ผู้ใช้ของเอเจนต์ผู้ใช้
ตัวอย่างเช่น:User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/12.0
อัปเกรด
[RFC 9110, ถาวร] ขอให้เซิร์ฟเวอร์อัปเกรดเป็นโปรโตคอลอื่น ห้ามใช้ใน HTTP/2 [ 10 ]
ตัวอย่างเช่น:Upgrade: h2c, HTTPS/1.3, IRC/6.9, RTA/x11, websocket
ทาง
[RFC 9110, ถาวร] แจ้งให้เซิร์ฟเวอร์ทราบถึงพร็อกซีที่ใช้ในการส่งคำขอ
ตัวอย่างเช่น:Via: 1.0 fred, 1.1 example.com (Apache/1.1)
คำเตือน
[RFC 7234, 9111, ล้าสมัย] คำเตือนเกี่ยวกับปัญหาที่อาจเกิดขึ้นกับเนื้อหาเอนทิตี[ 18 ]เนื่องจากส่วนหัวนี้มักจะไม่ถูกส่งโดยเซิร์ฟเวอร์หรือได้รับการยืนยันจากไคลเอ็นต์ ส่วนหัวนี้และรหัสของมันจึงถูกยกเลิกโดยกลุ่มทำงาน HTTP ในปี 2022 ด้วย RFC 9111 [ 19 ]
รหัสเตือนที่เกี่ยวข้องกับ การแคชต่อไปนี้ได้รับการกำหนดภายใต้ RFC 7234 [ 20 ] [ 21 ]
- 110 การตอบสนองนั้นล้าสมัยแล้ว
- ข้อมูลที่ได้รับจากแคชนั้นล้าสมัย (เนื้อหามีอายุเกินกว่าอายุสูงสุดที่กำหนดไว้ในส่วนหัว Cache-Control หรืออายุการใช้งานที่เลือกโดยใช้หลักการคาดเดา)
- 111 การตรวจสอบความถูกต้องล้มเหลว
- เนื่องจากแคชไม่สามารถตรวจสอบความถูกต้องของคำตอบได้ เพราะไม่สามารถติดต่อเซิร์ฟเวอร์ต้นทางได้
- 112 การทำงานที่ถูกตัดการเชื่อมต่อ
- แคชถูกตัดการเชื่อมต่อจากส่วนที่เหลือของเครือข่ายโดยเจตนา
- 113 การหมดอายุของฮิวริสติก
- ระบบแคชเลือกอายุการใช้งานของข้อมูลที่สดใหม่โดยอาศัยหลักการเชิงฮิวริสติกส์ โดยมีค่ามากกว่า 24 ชั่วโมง และอายุของข้อมูลที่ได้รับก็มากกว่า 24 ชั่วโมงเช่นกัน
- 199 คำเตือนเบ็ดเตล็ด
- คำเตือนที่ไม่เฉพาะเจาะจงและไม่กำหนดรูปแบบตายตัว ข้อความเตือนอาจถูกบันทึกไว้หรือแสดงให้ผู้ใช้เห็น
- 214 การแปลงประยุกต์
- เพิ่มโดยพร็อกซีหากมีการแปลงข้อมูลในรูปแบบต่างๆ เช่น การเปลี่ยนการเข้ารหัสเนื้อหา ประเภทสื่อ หรืออื่นๆ ที่คล้ายกัน
- 299 คำเตือนถาวรเบ็ดเตล็ด
- เหมือนกับข้อ 199 แต่เป็นการบ่งชี้ถึงคำเตือนที่เกิดขึ้นอย่างต่อเนื่อง
ตัวอย่างเช่น:Warning: 199 Miscellaneous warning
ช่องข้อมูลคำขอที่ไม่เป็นมาตรฐานทั่วไป
คำขออัปเกรดที่ไม่ปลอดภัย
บอกเซิร์ฟเวอร์ซึ่ง (คาดว่าอยู่ตรงกลางของการย้าย HTTP -> HTTPS) โฮสต์เนื้อหาแบบผสมว่าไคลเอนต์ต้องการเปลี่ยนเส้นทางไปยัง HTTPS และสามารถจัดการได้Content-Security-Policy: upgrade-insecure-requests[ 22 ]
ตัวอย่างเช่น:Upgrade-Insecure-Requests: 1
X-ร้องขอ-ด้วย
ส่วนใหญ่ใช้เพื่อระบุ คำขอ Ajax ( เฟรมเวิร์ก JavaScript ส่วนใหญ่ ส่งฟิลด์นี้พร้อมค่าXMLHttpRequest); นอกจากนี้ยังระบุแอป Android ที่ใช้ WebView ด้วย[ 23 ]
ตัวอย่างเช่น: X-Requested-With: XMLHttpRequest
ดีเอ็นที
ร้องขอให้แอปพลิเคชันเว็บปิดใช้งานการติดตามผู้ใช้ นี่คือเวอร์ชันของ Mozilla สำหรับฟิลด์ส่วนหัว X-Do-Not-Track (ตั้งแต่Firefox 4.0 Beta 11) SafariและIE9ก็รองรับฟิลด์นี้เช่นกัน[ 24 ]เมื่อวันที่ 7 มีนาคม 2011 มีการส่งร่างข้อเสนอไปยัง IETF [ 25 ]กลุ่ม งานป้องกันการติดตาม ของ W3Cกำลังจัดทำข้อกำหนด[ 26 ] [ 27 ]
ตัวอย่างเช่น:
DNT: 1(เปิดใช้งานการไม่ติดตาม)
DNT: 0(ปิดใช้งานฟังก์ชันห้ามติดตาม)
X-Forwarded-For
มาตรฐานโดยพฤตินัยสำหรับการระบุที่อยู่ IP ต้นทางของไคลเอนต์ที่เชื่อมต่อกับเว็บเซิร์ฟเวอร์ผ่านพร็อกซี HTTP หรือโหลดบาลานเซอร์ ถูกแทนที่ด้วยส่วนหัวForwarded [ 28 ]
ตัวอย่างเช่น: X-Forwarded-For: client1, proxy1, proxy2X-Forwarded-For: 129.78.138.66, 129.78.64.103
โฮสต์ที่ส่งต่อ X
มาตรฐานโดยพฤตินัยสำหรับการระบุโฮสต์ดั้งเดิมที่ร้องขอโดยไคลเอ็นต์ในHostส่วนหัวคำขอ HTTP เนื่องจากชื่อโฮสต์และ/หรือพอร์ตของพร็อกซีแบบย้อนกลับ (โหลดบาลานเซอร์) อาจแตกต่างจากเซิร์ฟเวอร์ต้นทางที่จัดการคำขอ ถูกแทนที่ด้วยส่วนหัวForwarded [ 29 ]
ตัวอย่างเช่น:
X-Forwarded-Host: en.wikipedia.org:8080
X-Forwarded-Host: en.wikipedia.org
โปรโตคอล X-Forwarded
มาตรฐานโดยพฤตินัยสำหรับการระบุโปรโตคอลต้นทางของคำขอ HTTP เนื่องจากพร็อกซีแบบย้อนกลับ (หรือตัวกระจายโหลด) อาจสื่อสารกับเว็บเซิร์ฟเวอร์โดยใช้ HTTP แม้ว่าคำขอไปยังพร็อกซีแบบย้อนกลับจะเป็น HTTPS ก็ตาม รูปแบบทางเลือกของส่วนหัว (X-ProxyUser-Ip) ถูกใช้โดยไคลเอ็นต์ของ Google ที่สื่อสารกับเซิร์ฟเวอร์ของ Google ถูกแทนที่ด้วยส่วนหัวForwarded [ 30 ]
ตัวอย่างเช่น:X-Forwarded-Proto: https
ฟรอนต์เอนด์-เอชทีพี
ฟิลด์ส่วนหัวที่ไม่เป็นมาตรฐานที่ใช้โดยแอปพลิเคชันและตัวกระจายโหลดของ Microsoft [ 31 ]
ตัวอย่างเช่น:Front-End-Https: on
X-Http-Method-Override
ร้องขอแอปพลิเคชันเว็บเพื่อแทนที่วิธีการที่ระบุในคำขอ (โดยทั่วไปคือ POST) ด้วยวิธีการที่ระบุในฟิลด์ส่วนหัว (โดยทั่วไปคือ PUT หรือ DELETE) สามารถใช้ได้เมื่อตัวแทนผู้ใช้หรือไฟร์วอลล์ป้องกันไม่ให้ส่งวิธีการ PUT หรือ DELETE โดยตรง (นี่อาจเป็นข้อบกพร่องในส่วนประกอบซอฟต์แวร์ ซึ่งควรได้รับการแก้ไข หรือเป็นการกำหนดค่าโดยเจตนา ซึ่งในกรณีนี้การข้ามขั้นตอนดังกล่าวอาจเป็นสิ่งที่ไม่ควรทำ) [ 32 ]
ตัวอย่างเช่น:X-HTTP-Method-Override: DELETE
X-ATT-DeviceId
ช่วยให้การแยกวิเคราะห์ MakeModel/Firmware ซึ่งมักพบใน User-Agent String ของอุปกรณ์ AT&T ทำได้ง่ายขึ้น[ 33 ]
ตัวอย่างเช่น:X-Att-Deviceid: GT-P7320/P7320XXLPG
โปรไฟล์ X-Wap
ลิงก์ไปยังไฟล์ XML บนอินเทอร์เน็ตที่มีคำอธิบายและรายละเอียดครบถ้วนเกี่ยวกับอุปกรณ์ที่กำลังเชื่อมต่ออยู่ ในตัวอย่างทางด้านขวาเป็นไฟล์ XML สำหรับ Samsung Galaxy S2 ของ AT&T [ 34 ]
ตัวอย่างเช่น:x-wap-profile: http://wap.samsungmobile.com/uaprof/SGH-I777.xml
การเชื่อมต่อพร็อกซี
ดำเนินการเนื่องจากความเข้าใจผิดเกี่ยวกับข้อกำหนด HTTP เป็นเรื่องปกติเนื่องจากข้อผิดพลาดในการใช้งาน HTTP เวอร์ชันแรก ๆ มีฟังก์ชันการทำงานเหมือนกับฟิลด์การเชื่อมต่อมาตรฐานทุกประการ ไม่ควรใช้กับ HTTP/2 [ 35 ] [ 10 ]
ตัวอย่างเช่น:Proxy-Connection: keep-alive
เอ็กซ์-UIDH
การตรวจสอบแพ็กเก็ตเชิงลึกฝั่งเซิร์ฟเวอร์ของรหัสเฉพาะที่ระบุลูกค้าของVerizon Wirelessหรือที่รู้จักกันในชื่อ "perma-cookie" หรือ "supercookie" [ 36 ] [ 37 ] [ 38 ]
ตัวอย่างเช่น:X-UIDH: ...
เอ็กซ์-ซีเอสอาร์เอฟ-โทเค็น
ใช้เพื่อป้องกันการปลอมแปลงคำขอข้ามไซต์ชื่อส่วนหัวทางเลือกคือ: X-CSRFToken[ 39 ]และX-XSRF-TOKEN[ 40 ] [ 41 ]
ตัวอย่างเช่น:X-Csrf-Token: i8XNjC4b8KVok4uw5RftR38Wgp2BFwql
รหัสคำขอ X, รหัสความสัมพันธ์ X, รหัสความสัมพันธ์
เชื่อมโยงคำขอ HTTP ระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ ถูกแทนที่ด้วยส่วนหัว traceparent [ stackoverflow2 1 ] [ 42 ] [ 43 ] [ 44 ] [ 45 ]
ตัวอย่างเช่น:X-Request-ID: f058ebd6-02f7-4d3f-942e-904344e8cde5
บันทึกข้อมูล
ส่วนหัวคำขอคำแนะนำไคลเอ็นต์ Save-Data ที่มีอยู่ในเบราว์เซอร์ Chrome, Opera และ Yandex ช่วยให้นักพัฒนาสามารถส่งมอบแอปพลิเคชันที่เบาและเร็วขึ้นให้กับผู้ใช้ที่เลือกใช้โหมดประหยัดข้อมูลในเบราว์เซอร์ของตน[ 46 ]
ตัวอย่างเช่น:Save-Data: on
เลขาธิการจีพีซี
ส่วนหัวคำขอ Sec-GPC ( Global Privacy Control ) ระบุว่าผู้ใช้ยินยอมให้เว็บไซต์หรือบริการขายหรือแบ่งปันข้อมูลส่วนบุคคลของตนกับบุคคลที่สามหรือไม่[ 47 ]
ตัวอย่างเช่น:Sec-GPC: 1
ช่องคำตอบ
ส่วนนี้แสดงรายการฟิลด์ส่วนหัวที่ใช้ในการตอบกลับ
ช่องคำตอบมาตรฐาน
ยอมรับ-CH
[RFC 8942, ทดลอง] คำแนะนำไคลเอ็นต์ HTTP สำหรับ คำขอ
ตัวอย่างเช่น:Accept-CH: UA, Platform
การควบคุมการเข้าถึงอนุญาตแหล่งที่มา, การควบคุมการเข้าถึงอนุญาตข้อมูลประจำตัว, การควบคุมการเข้าถึงเปิดเผยส่วนหัว, การควบคุมการเข้าถึงอายุสูงสุด, การควบคุมการเข้าถึงอนุญาตวิธีการ, การควบคุมการเข้าถึงอนุญาตส่วนหัว
[RFC 7480, ถาวร] การระบุเว็บไซต์ที่สามารถเข้าร่วมในการแบ่งปันทรัพยากรข้ามต้นทางได้[ 6 ]
ตัวอย่างเช่น:Access-Control-Allow-Origin: *
ยอมรับแพทช์
[RFC 5789, ถาวร] ระบุรูปแบบเอกสารแพทช์ที่เซิร์ฟเวอร์นี้รองรับ[ 48 ]
ตัวอย่างเช่น:Accept-Patch: text/example;charset=utf-8
ยอมรับช่วง
[RFC 9110, ถาวร] เซิร์ฟเวอร์นี้รองรับประเภทช่วงเนื้อหาบางส่วนแบบใดบ้างผ่านการ ให้ บริการ ไบต์
ตัวอย่างเช่น:Accept-Ranges: bytes
อายุ
[RFC 9111, ถาวร] ระยะเวลาที่วัตถุอยู่ในแคชพร็อกซีในหน่วยวินาที
ตัวอย่างเช่น:Age: 12
อนุญาต
[RFC 9110, ถาวร] วิธีการที่ถูกต้องสำหรับทรัพยากรที่ระบุ ใช้สำหรับข้อผิดพลาด405 "Method not allowed "
ตัวอย่างเช่น:Allow: GET, HEAD
บริการทางเลือก
[RFC 7838, ถาวร] เซิร์ฟเวอร์ใช้ส่วนหัว "Alt-Svc" (หมายถึงบริการทางเลือก) เพื่อระบุว่าทรัพยากรของเซิร์ฟเวอร์สามารถเข้าถึงได้ที่ตำแหน่งเครือข่ายอื่น (โฮสต์หรือพอร์ต) หรือใช้โปรโตคอลอื่น เมื่อใช้ HTTP/2 เซิร์ฟเวอร์ควรส่งเฟรม ALTSVC แทน[ 49 ]
ตัวอย่างเช่น:Alt-Svc: http/1.1="http2.example.com:8001"; ma=7200
แคช-คอนโทรล
[RFC 9111, ถาวร] แจ้งให้กลไกการแคชทั้งหมดตั้งแต่เซิร์ฟเวอร์ไปจนถึงไคลเอ็นต์ทราบว่าสามารถแคชการตอบสนองได้หรือไม่ ค่าตัวเลขมีหน่วยเป็นวินาที
หากเว็บเซิร์ฟเวอร์ตอบกลับด้วยค่าCache-Control: no-cache`id` เว็บเบราว์เซอร์หรือระบบแคช อื่นๆ (พร็อกซีตัวกลาง) จะต้องไม่ใช้การตอบกลับนั้นเพื่อตอบสนองคำขอถัดไปโดยไม่ตรวจสอบกับเซิร์ฟเวอร์ต้นทางก่อน (กระบวนการนี้เรียกว่าการตรวจสอบความถูกต้อง) ฟิลด์ส่วนหัวนี้เป็นส่วนหนึ่งของ HTTP/1.1 และแคชและเบราว์เซอร์บางตัวจะไม่สนใจ สามารถจำลองได้โดยการตั้งExpiresค่าฟิลด์ส่วนหัว HTTP/1.0 ให้เป็นเวลาก่อนหน้าเวลาตอบกลับ โปรดสังเกตว่าค่า `id` no-cacheไม่ได้สั่งการเบราว์เซอร์หรือพร็อกซีว่าจะแคชเนื้อหาหรือไม่ แต่จะบอกเบราว์เซอร์และพร็อกซีให้ตรวจสอบความถูกต้องของเนื้อหาแคชกับเซิร์ฟเวอร์ก่อนใช้งาน (ทำได้โดยใช้ `id` If-Modified-Since, `id` If-Unmodified-Since, If-Match`id` และ `id` If-None-Match) การส่งno-cacheค่า `id` จึงสั่งการเบราว์เซอร์หรือพร็อกซีไม่ให้ใช้เนื้อหาแคชโดยพิจารณาจาก "เกณฑ์ความใหม่" ของเนื้อหาแคชเพียงอย่างเดียว อีกวิธีหนึ่งที่ใช้กันทั่วไปในการป้องกันไม่ให้เนื้อหาเก่าแสดงต่อผู้ใช้โดยไม่ผ่านการตรวจสอบความถูกต้องคือการใช้ `id` Cache-Control: max-age=0ซึ่งจะสั่งการให้เอเจนต์ผู้ใช้ทราบว่าเนื้อหานั้นล้าสมัยและควรได้รับการตรวจสอบความถูกต้องก่อนใช้งาน
ค่าดังno-storeกล่าวสั่งให้เบราว์เซอร์ไม่แคชการตอบสนอง แต่เบราว์เซอร์ก็ยังสามารถแคชได้อยู่ดี โดยเฉพาะอย่างยิ่ง คำจำกัดความของ HTTP/1.1 แยกความแตกต่างระหว่างที่เก็บประวัติและการแคช หากผู้ใช้ย้อนกลับไปยังหน้าก่อนหน้า เบราว์เซอร์อาจแสดงหน้าเว็บที่จัดเก็บไว้ในที่เก็บประวัติ ซึ่งเป็นพฤติกรรมที่ถูกต้องตามข้อกำหนด ตัวแทนผู้ใช้หลายตัวแสดงพฤติกรรมที่แตกต่างกันในการโหลดหน้าเว็บจากที่เก็บประวัติหรือแคช ขึ้นอยู่กับว่าโปรโตคอลเป็น HTTP หรือ HTTPS
ตัวอย่างเช่น:Cache-Control: max-age=3600
การเชื่อมต่อ
[RFC 9110, ถาวร] ตัวเลือกควบคุมสำหรับการเชื่อมต่อปัจจุบันและรายการฟิลด์การตอบสนองแบบทีละฮอป[ 9 ]ห้ามใช้กับ HTTP/2 [ 10 ]
ตัวอย่างเช่น:Connection: close
การจัดการเนื้อหา
[RFC 2616, 4021, 6266, ถาวร] โอกาสในการแสดงกล่องโต้ตอบ "ดาวน์โหลดไฟล์" สำหรับประเภท MIME ที่รู้จักซึ่งมีรูปแบบไบนารี หรือแนะนำชื่อไฟล์สำหรับเนื้อหาแบบไดนามิก จำเป็นต้องใช้เครื่องหมายอัญประกาศสำหรับอักขระพิเศษ[ 50 ]
ตัวอย่างเช่น:Content-Disposition: attachment; filename="fname.ext"
การเข้ารหัสเนื้อหา
[RFC 9110, ถาวร] ประเภทของการเข้ารหัสที่ใช้กับข้อมูล ดู การ บีบ อัด HTTP
ตัวอย่างเช่น:Content-Encoding: gzip
ภาษาเนื้อหา
[RFC 9110, ถาวร] ภาษาธรรมชาติหรือภาษาต่างๆ ของกลุ่มเป้าหมายสำหรับเนื้อหาที่แนบมา[ 51 ]
ตัวอย่างเช่น:Content-Language: da
ความยาวเนื้อหา
[RFC 9110, ถาวร] ความยาวของเนื้อหาการตอบกลับในหน่วยอ็อกเท็ต (ไบต์ 8 บิต)
ตัวอย่างเช่น:Content-Length: 348
ตำแหน่งเนื้อหา
[RFC 9110, ถาวร] ตำแหน่งอื่นสำหรับข้อมูลที่ส่งคืน
ตัวอย่างเช่น:Content-Location: /index.htm
เนื้อหา-MD5
[RFC 1544, 1864, 4021, ล้าสมัย] ผลรวม MD5ไบนารีที่เข้ารหัสBase64ของเนื้อหาของการตอบสนอง[ 12 ]
ตัวอย่างเช่น:Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
ช่วงเนื้อหา
[RFC 9110, ถาวร] ข้อความย่อยนี้ควรอยู่ในตำแหน่งใดในข้อความฉบับเต็ม
ตัวอย่างเช่น:Content-Range: bytes 21010-47021/47022
ประเภทเนื้อหา
[RFC 9110, ถาวร] ประเภท MIMEของเนื้อหานี้
ตัวอย่างเช่น:Content-Type: text/html; charset=utf-8
วันที่
[RFC 9110, ถาวร] วันและเวลาที่ส่งข้อความ (ในรูปแบบ "HTTP-date" ตามที่กำหนดโดย RFC 9110)
ตัวอย่างเช่น:Date: Tue, 15 Nov 1994 08:12:31 GMT
ฐานเดลต้า
[RFC 3229, ถาวร] ระบุแท็กเอนทิตีการเข้ารหัสเดลต้าของการตอบสนอง[ 5 ]
ตัวอย่างเช่น:Delta-Base: "abc"
อีแท็ก
[RFC 9110, ถาวร] ตัวระบุสำหรับเวอร์ชันเฉพาะของทรัพยากร ซึ่งมักจะเป็นข้อมูลสรุปข้อความ (message digest )
ตัวอย่างเช่น:ETag: "737060cd8c284d8af7ad3082f209582d"
หมดอายุ
[RFC 9111, แบบถาวร] ระบุวันที่/เวลาที่การตอบกลับจะถือว่าล้าสมัย (ในรูปแบบ "HTTP-date" ตามที่กำหนดโดย RFC 9110)
ตัวอย่างเช่น:Expires: Thu, 01 Dec 1994 16:00:00 GMT
ฉัน
[RFC 3229, ถาวร] การจัดการอินสแตนซ์ที่ใช้กับการตอบสนอง[ 5 ]
ตัวอย่างเช่น:IM: feed
แก้ไขล่าสุด
[RFC 9110, ถาวร] วันที่แก้ไขล่าสุดสำหรับวัตถุที่ร้องขอ (ในรูปแบบ "HTTP-date" ตามที่กำหนดโดย RFC 9110)
ตัวอย่างเช่น:Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT
ลิงก์
[RFC 8288, ถาวร] ใช้เพื่อแสดงความสัมพันธ์แบบมีประเภทกับทรัพยากรอื่น โดยที่ประเภทความสัมพันธ์ถูกกำหนดโดย RFC 8288 [ 52 ]
ตัวอย่างเช่น:Link: </feed>; rel="alternate"
ที่ตั้ง
[RFC 9110, ถาวร] ใช้ในการเปลี่ยนเส้นทางหรือเมื่อมีการสร้างทรัพยากรใหม่
ตัวอย่างเช่น:Location: http://www.w3.org/pub/WWW/People.html
ตัวอย่างเช่น:Location: /pub/WWW/People.html
พี3พี
[RFC 2626, ถาวร] ฟิลด์นี้ควรจะตั้ง ค่านโยบาย P3PในรูปแบบของP3P:CP="your_compact_policy"อย่างไรก็ตาม P3P ไม่ได้รับความนิยม[ 53 ]เบราว์เซอร์ส่วนใหญ่ไม่เคยนำไปใช้งานอย่างเต็มรูปแบบ เว็บไซต์จำนวนมากตั้งค่าฟิลด์นี้ด้วยข้อความนโยบายปลอม ซึ่งเพียงพอที่จะหลอกเบราว์เซอร์ให้คิดว่ามีนโยบาย P3P อยู่และให้สิทธิ์สำหรับคุกกี้ของบุคคลที่สาม
ตัวอย่างเช่น:P3P: CP="This is not a P3P policy! See https://en.wikipedia.org/wiki/Special:CentralAutoLogin/P3P for more info."
ปรากมา
[RFC 9111, ถาวร] ฟิลด์เฉพาะการใช้งานที่อาจมีผลกระทบหลากหลายในทุกจุดตลอดห่วงโซ่การร้องขอและการตอบสนอง
ตัวอย่างเช่น:Pragma: no-cache
การกำหนดค่าตามความชอบ
[RFC 7240, ถาวร] ระบุว่าโทเค็น Prefer ใดที่เซิร์ฟเวอร์ยอมรับและนำไปใช้ในการประมวลผลคำขอ
ตัวอย่างเช่น:Preference-Applied: return=representation
พร็อกซี-ยืนยันตัวตน
[RFC 9110, ถาวร] ขอการตรวจสอบสิทธิ์เพื่อเข้าถึงพร็อกซี
ตัวอย่างเช่น:Proxy-Authenticate: Basic
พินกุญแจสาธารณะ
[RFC 7469, ถาวร] การตรึงคีย์สาธารณะ HTTPประกาศแฮชของใบรับรองTLS ที่แท้จริงของเว็บไซต์ [ 54 ]
ตัวอย่างเช่น:Public-Key-Pins: max-age=2592000; pin-sha256="E9CZ9INDbd+2eRQozYqqbQ2yXLVKB9+xcprMF+44U1g=";
ลองใหม่อีกครั้ง
[RFC 9110, ถาวร] หากเอนทิตีไม่พร้อมใช้งานชั่วคราว คำสั่งนี้จะสั่งให้ไคลเอนต์ลองใหม่อีกครั้งในภายหลัง ค่าอาจเป็นช่วงเวลาที่กำหนด (เป็นวินาที) หรือวันที่ HTTP [ 55 ]
ตัวอย่างที่ 1: Retry-After: 120 ตัวอย่างที่ 2:Retry-After: Fri, 07 Nov 2014 23:59:59 GMT
เซิร์ฟเวอร์
[RFC 9110, ถาวร] ชื่อสำหรับเซิร์ฟเวอร์
ตัวอย่างเช่น:Server: Apache/2.4.1 (Unix)
ตั้งค่าคุกกี้
[RFC 6265, ถาวร] คุกกี้ HTTP
ตัวอย่างเช่น:Set-Cookie: CookieName=CookieValue; Max-Age=3600; Version=1
มาตรการรักษาความปลอดภัยในการขนส่งที่เข้มงวด
[RFC 6797, ถาวร] นโยบาย HSTS ที่แจ้งให้ไคลเอ็นต์ HTTP ทราบว่าควรแคชนโยบายเฉพาะ HTTPS ไว้นานแค่ไหน และใช้กับโดเมนย่อยหรือไม่
ตัวอย่างเช่น:Strict-Transport-Security: max-age=16070400; includeSubDomains
ตัวอย่าง
[RFC 9110, ถาวร] ค่าฟิลด์ทั่วไปของส่วนท้าย (Trailer general field value) บ่งชี้ว่าชุดฟิลด์ส่วนหัวที่กำหนดนั้นมีอยู่ในส่วนท้ายของข้อความที่เข้ารหัสด้วยการเข้ารหัสการถ่ายโอนแบบแบ่งส่วน (chunked transfer coding )
ตัวอย่างเช่น:Trailer: Max-Forwards
การเข้ารหัสการถ่ายโอน
[RFC 9110, ถาวร] รูปแบบการเข้ารหัสที่ใช้ในการถ่ายโอนเอนทิตีไปยังผู้ใช้อย่างปลอดภัยวิธีการที่กำหนดไว้ในปัจจุบันได้แก่chunked , compress, deflate, gzip, identity ห้ามใช้กับ HTTP/2 [ 10 ]
ตัวอย่างเช่น:Transfer-Encoding: chunked
Tk
[RFC 2295, ถาวร] ส่วนหัวสถานะการติดตาม ค่าที่แนะนำให้ส่งในการตอบสนองต่อคำขอ DNT (ห้ามติดตาม) ค่าที่เป็นไปได้:
- "!" — กำลังก่อสร้าง
- "?" - พลวัต
- "G" — ประตูสู่หลายฝ่าย
- "N" — ไม่ได้ติดตาม
- "T" — การติดตาม
- "C" — การติดตามโดยได้รับความยินยอม
- "P" — ติดตามเฉพาะเมื่อได้รับความยินยอมเท่านั้น
- "D" — ไม่คำนึงถึง DNT
- "U" — อัปเดตแล้ว
ตัวอย่างเช่น:Tk: ?
อัปเกรด
[RFC 9110, ถาวร] ขอให้ไคลเอนต์อัปเกรดเป็นโปรโตคอลอื่น ห้ามใช้ใน HTTP/2 [ 10 ]
ตัวอย่างเช่น:Upgrade: h2c, HTTPS/1.3, IRC/6.9, RTA/x11, websocket
ต่างกันไป
[RFC 9110, ถาวร] แจ้งให้พร็อกซีปลายทางทราบถึงวิธีการจับคู่ส่วนหัวคำขอในอนาคตเพื่อตัดสินใจว่าสามารถใช้การตอบสนองที่แคชไว้ได้หรือไม่ แทนที่จะขอการตอบสนองใหม่จากเซิร์ฟเวอร์ต้นทาง
ตัวอย่างที่ 1: Vary: * ตัวอย่างที่ 2:Vary: Accept-Language
ทาง
[RFC 9110, ถาวร] แจ้งให้ไคลเอ็นต์ทราบถึงพร็อกซีที่ใช้ในการส่งการตอบกลับ
ตัวอย่างเช่น:Via: 1.0 fred, 1.1 example.com (Apache/1.1)
คำเตือน
[RFC 7234, RFC 9111, ล้าสมัย] คำเตือนทั่วไปเกี่ยวกับปัญหาที่อาจเกิดขึ้นกับเนื้อหาของเอนทิตี[ 18 ]
ตัวอย่างเช่น:Warning: 199 Miscellaneous warning
WWW-Authenticate
[RFC 9110, ถาวร] ระบุรูปแบบการตรวจสอบสิทธิ์ที่ควรใช้ในการเข้าถึงเอนทิตีที่ร้องขอ
ตัวอย่างเช่น:WWW-Authenticate: Basic
ตัวเลือกเฟรม X
[RFC 7034, ล้าสมัย] การป้องกัน Clickjacking : deny- ไม่แสดงผลภายในเฟรมsameorigin- ไม่แสดงผลหากต้นกำเนิดไม่ตรงกันallow-from- อนุญาตจากตำแหน่งที่ระบุallowall- ไม่เป็นมาตรฐาน อนุญาตจากตำแหน่งใดก็ได้[ 56 ]
ตัวอย่างเช่น:X-Frame-Options: deny
ช่องตอบกลับที่ไม่เป็นมาตรฐานทั่วไป
นโยบายความปลอดภัยของเนื้อหา, นโยบายความปลอดภัยของเนื้อหา X, X-WebKit-CSP
คำจำกัดความของนโยบายความปลอดภัยของเนื้อหา[ 57 ]
ตัวอย่างเช่น: X-WebKit-CSP: default-src 'self'
คาดหวัง-ซีที
แจ้งให้ทราบเพื่อเลือกใช้การบังคับใช้ ความโปร่งใส ของใบรับรอง [ 58 ]
ตัวอย่างเช่น: Expect-CT: max-age=604800, enforce, report-uri="https://example.example/report"
เอ็นแอล
ใช้สำหรับกำหนดค่าการบันทึกคำขอเครือข่าย[ 59 ]
ตัวอย่างเช่น: NEL:{"report_to":"name_of_reporting_group","max_age":12345,"include_subdomains":false,"success_fraction":0.0,"failure_fraction":1.0}
นโยบายการอนุญาต
เพื่ออนุญาตหรือปิดใช้งานคุณสมบัติหรือ API ต่างๆ ของเบราว์เซอร์[ 60 ]
ตัวอย่างเช่น: Permissions-Policy: fullscreen=(), camera=(), microphone=(), geolocation=(), interest-cohort=()[61]
รีเฟรช
สั่งให้เบราว์เซอร์รีเฟรชหน้าเว็บหรือเปลี่ยนเส้นทางไปยัง URL อื่น ไม่ว่าจะหลังจากเวลาที่กำหนด ( 0หมายถึงทันที) หรือเมื่อมีการสร้างทรัพยากรใหม่ Netscape เป็นผู้ริเริ่มใช้ในปี 1995 และต่อมาได้กลายเป็นมาตรฐานโดยพฤตินัยที่ได้รับการสนับสนุนจากเบราว์เซอร์เว็บส่วนใหญ่ ในที่สุดก็ได้รับการกำหนดมาตรฐานใน HTML Living Standard ในปี 2017 [ 62 ]
ตัวอย่างเช่น: Refresh: 5; url=http://www.w3.org/pub/WWW/People.html
รายงานถึง
สั่งให้ตัวแทนผู้ใช้จัดเก็บจุดสิ้นสุดการรายงานสำหรับต้นทาง[ 63 ]
ตัวอย่างเช่น: Report-To:{"group":"csp-endpoint","max_age":10886400,"endpoints":[{"url":"https-url-of-site-which-collects-reports"}]}
สถานะ
ฟิลด์ส่วนหัวCGI ที่ระบุ สถานะของการตอบสนอง HTTP การตอบสนอง HTTP ปกติจะใช้ "บรรทัดสถานะ" แยกต่างหากแทน ซึ่งกำหนดโดย RFC 9110 [ 64 ]
ตัวอย่างเช่น: Status: 200 OK
การกำหนดเวลา-อนุญาต-ต้นกำเนิด
ส่วนTiming-Allow-Originหัวการตอบกลับระบุต้นทางที่ได้รับอนุญาตให้เห็นค่าของแอตทริบิวต์ที่ดึงมาผ่านคุณสมบัติของResource Timing APIซึ่งมิฉะนั้นจะถูกรายงานเป็นศูนย์เนื่องจากข้อจำกัดข้ามต้นทาง[ 65 ]
ตัวอย่างเช่น: Timing-Allow-Origin: *Timing-Allow-Origin: <origin>[, <origin>]*
ระยะเวลา X-เนื้อหา
ระบุระยะเวลาของเสียงหรือวิดีโอเป็นวินาที เบราว์เซอร์ปัจจุบันไม่รองรับ – ส่วนหัวนี้รองรับเฉพาะเบราว์เซอร์ Gecko เท่านั้น ซึ่งได้ยกเลิกการสนับสนุนในปี 2015 [ 66 ] [ 67 ]
ตัวอย่างเช่น: X-Content-Duration: 42.666
ตัวเลือกประเภทเนื้อหา X
ค่าที่กำหนดไว้เพียงค่าเดียวคือ "nosniff" ซึ่งป้องกันไม่ให้Internet Explorerตรวจสอบ MIME ของการตอบสนองที่แตกต่างจากประเภทเนื้อหาที่ประกาศไว้ สิ่งนี้ยังใช้ได้กับGoogle Chromeเมื่อดาวน์โหลดส่วนขยายด้วย[ 68 ] [ 69 ]
ตัวอย่างเช่น: X-Content-Type-Options: nosniff[ 70 ]
X-Powered-By
ระบุเทคโนโลยี (เช่นASP.NET , PHP , JBoss) ที่รองรับเว็บแอปพลิเคชัน (รายละเอียดเวอร์ชันมักอยู่ในX-Runtime, X-Version, หรือX-AspNet-Version) [ stackoverflow1 1 ]
ตัวอย่างเช่น: X-Powered-By: PHP/5.4.0
X-Redirect-By
ระบุส่วนประกอบที่รับผิดชอบการเปลี่ยนเส้นทางเฉพาะ[ 71 ]
ตัวอย่างเช่น: X-Redirect-By: WordPressX-Redirect-By: Polylang
รหัสคำขอ X, รหัสความสัมพันธ์ X
เชื่อมโยงคำขอ HTTP ระหว่างไคลเอ็นต์และเซิร์ฟเวอร์[ stackoverflow2 1 ]
ตัวอย่างเช่น: X-Request-ID: f058ebd6-02f7-4d3f-942e-904344e8cde5
เข้ากันได้กับ X-UA
แนะนำเอ็นจิ้นการแสดงผลที่ต้องการ (มักจะเป็นโหมดความเข้ากันได้แบบย้อนหลัง) ที่จะใช้ในการแสดงเนื้อหา นอกจากนี้ยังใช้เพื่อเปิดใช้งานChrome Frameใน Internet Explorer ในมาตรฐาน HTML IE=edgeจะมีการกำหนดค่า เพียงอย่างเดียว [ 72 ] [ 73 ]
ตัวอย่างเช่น:
X-UA-Compatible: IE=edgeX-UA-Compatible: IE=EmulateIE7X-UA-Compatible: Chrome=1
การป้องกัน X-XSS
ตัวกรอง Cross-site scripting (XSS) [ 74 ]
ตัวอย่างเช่น: X-XSS-Protection: 1; mode=block
ดูเพิ่มเติม
ลิงก์ภายนอก
- ส่วนหัว: ชื่อฟิลด์ส่วนหัวข้อความถาวร
- RFC 6265 : กลไกการจัดการสถานะ HTTP ของ IETF
- RFC 9110 : ความหมายของ HTTP
- RFC 9111 : การแคช HTTP
- RFC 9112 : HTTP/1.1
- RFC 9113 : HTTP/2
- RFC 9114 : HTTP/3
- RFC 7239 : ส่วนขยาย HTTP ที่ส่งต่อ
- RFC 7240 : เลือกใช้ส่วนหัว (Header) ใดสำหรับ HTTP
- ส่วนหัว HTTPที่MDN Web Docs
- ส่วนหัว HTTP/1.1 จากมุมมองของเว็บเซิร์ฟเวอร์
- Internet Explorer และส่วนหัว HTTP แบบกำหนดเอง - EricLaw's IEInternals - หน้าหลักเว็บไซต์ - บล็อก MSDN
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ รายการฟิลด์ส่วนหัว HTTP
บทความนี้แสดงรายการ ฟิลด์ส่วนหัว HTTP มาตรฐานและฟิลด์ที่ไม่เป็นมาตรฐานที่น่าสนใจ
ช่องคำขอ
ส่วนนี้แสดงรายการฟิลด์ส่วนหัวที่ใช้ในการ ร้องขอ
ช่องคำขอมาตรฐาน
[RFC 3229, ถาวร] การจัดการอินสแตนซ์ที่ยอมรับได้สำหรับคำขอ [ 5 ]
ช่องข้อมูลคำขอที่ไม่เป็นมาตรฐานทั่วไป
บอกเซิร์ฟเวอร์ซึ่ง (คาดว่าอยู่ตรงกลางของการย้าย HTTP -> HTTPS) โฮสต์เนื้อหาแบบผสมว่าไคลเอนต์ต้องการเปลี่ยนเส้นทางไปยัง HTTPS และสามารถจัดการได้ Content-Security-Policy: upgrade-insecure-requests [ 22 ]