HTTP 頭

一個 HTTP 頭 是 HTTP 請求或響應的一個欄位,它傳遞關於請求或響應的附加上下文和元資料。例如,請求訊息可以使用頭來指示其首選媒體格式,而響應可以使用頭來指示返回正文的媒體格式。頭不區分大小寫,從行的開頭開始,緊隨其後的是一個 ':' 和一個依賴於頭的值。該值在下一個 CRLF 或訊息結束時結束。

HTTP 和 Fetch 規範提到了許多頭類別,包括

  • 請求頭:包含有關要獲取的資源或客戶端本身的更多資訊的頭。
  • 響應頭:包含有關響應的附加資訊(例如其位置或伺服器本身(名稱、版本等))的頭。
  • 表示頭:訊息正文中有關資源的元資料(例如,編碼、媒體型別等)。
  • Fetch 元資料請求頭:訊息正文中有關資源的元資料(例如,編碼、媒體型別等)的頭。

一個帶有一個頭部的基本請求

http
GET /example.html HTTP/1.1
Host: example.com

重定向具有強制性頭(Location

http
302 Found
Location: /NewPage.html

一組典型的頭

http
304 Not Modified
Access-Control-Allow-Origin: *
Age: 2318192
Cache-Control: public, max-age=315360000
Connection: keep-alive
Date: Mon, 18 Jul 2016 16:06:00 GMT
Server: Apache
Vary: Accept-Encoding
Via: 1.1 3dc30c7222755f86e824b93feb8b5b8c.cloudfront.net (CloudFront)
X-Amz-Cf-Id: TOl0FEm6uI4fgLdrKJx0Vao5hpkKGZULYN2TWD2gAWLtr7vlNjTvZw==
X-Backend-Server: developer6.webapp.scl3.mozilla.com
X-Cache: Hit from cloudfront
X-Cache-Info: cached

注意: 規範的舊版本提到了

  • 通用頭:同時適用於請求和響應,但與最終在正文中傳輸的資料無關的頭。
  • 實體頭:包含有關實體正文的更多資訊的頭,例如其內容長度或其 MIME 型別(這是現在稱為表示元資料頭的超集)