?
This document uses PHP Chinese website manual Release
HTTP 的 header 允許客戶端和服務器通過請求或響應傳遞附加信息。一個請求頭由不區(qū)分大小寫的名稱和一個冒號“ :
'組成,然后由它的值(沒有換行符)組成。在值被忽略之前引導空格。
可以使用'X'前綴添加自定義專有標頭,但是該慣例在2012年6月已棄用,原因是非標準字段在 RFC 6648中成為標準時造成的不便之處; 其他人則列入 IANA 注冊處,其原始內(nèi)容已在 RFC 4229中定義。IANA 還維護建議的新 HTTP 消息頭的注冊表。
頭文件可以根據(jù)其上下文分組:
常規(guī)標題:標題適用于請求和響應,但與最終在正文中傳輸?shù)臄?shù)據(jù)無關。
請求標頭:包含有關要獲取的資源或客戶端本身的更多信息的標頭。
響應標題:包含響應附加信息的標題,如其位置或服務器本身(名稱和版本等)。
實體標頭:包含有關實體主體的更多信息的標頭,如其內(nèi)容長度或其 MIME 類型。
頭文件也可以根據(jù)代理如何處理它們進行分組:
End-to-end 的 header 這些頭部必須傳送給消息的最終收件人; 即請求的服務器或響應的客戶端。中間代理必須重新傳輸未經(jīng)修改的端到端標頭,并且緩存必須存儲它們。逐跳標頭這些標頭僅對單個傳輸級連接有意義,且不得由代理或緩存重新傳輸。這樣的標題有:Connection
,Keep-Alive
,Proxy-Authenticate
,Proxy-Authorization
,TE
,Trailer
,Transfer-Encoding
和Upgrade
。請注意,只能使用Connection
通用報頭設置逐跳報頭。
以下列表按照其使用類別匯總了 HTTP 標頭。有關按字母順序排列的列表,請參閱左側的導航。
WWW-Authenticate
定義應該用于訪問資源的身份驗證方法。
Authorization
包含使用服務器驗證用戶代理的憑據(jù)。
Proxy-Authenticate
定義應該用來訪問代理服務器后面資源的身份驗證方法。
Proxy-Authorization
包含使用代理服務器驗證用戶代理的憑據(jù)。
Age
對象已在代理緩存中的時間(以秒為單位)。
Cache-Control
在請求和響應中指定緩存機制的指令。
Expires
響應被視為陳舊的日期/時間。
Pragma
特定于實現(xiàn)的頭部可能會在請求 - 響應鏈的任何位置產(chǎn)生各種效果。用于向后兼容Cache-Control
頭部尚不存在的 HTTP / 1.0 緩存。
Warning
包含可能問題信息的一般警告字段。
Accept-CH
...Content-DPR
...DPR
...Downlink
...Save-Data
...Viewport-Width
...Width
...
Last-Modified
它是驗證器,是資源的最后修改日期,用于比較同一資源的多個版本。它不太準確ETag
,但在某些環(huán)境下更容易計算。有條件的請求使用If-Modified-Since
和If-Unmodified-Since
使用此值來更改請求的行為。
ETag
它是一個驗證程序,它是標識資源版本的唯一字符串。有條件的請求使用If-Match
和If-None-Match
使用此值來更改請求的行為。
If-Match
使請求有條件并僅當存儲的資源與給定的 ETags 中的一個匹配時才應用該方法。
If-None-Match
使請求有條件并僅在存儲的資源與任何給定的 ETag 不匹配時才應用該方法。這用于更新緩存(用于安全請求),或者防止在已經(jīng)存在的情況下上載新資源。
If-Modified-Since
使請求有條件并期望實體僅在給定日期后被修改的情況下才被傳送。這僅用于在緩存過期時傳輸數(shù)據(jù)。
If-Unmodified-Since
使請求有條件,并期望實體僅在給定日期后未被修改的情況下才被傳送。這用于確保特定范圍的新片段與先前片段的一致性,或者在修改現(xiàn)有文檔時實現(xiàn)樂觀并發(fā)控制系統(tǒng)。
Connection
控制當前事務完成后網(wǎng)絡連接是否保持打開狀態(tài)。
Keep-Alive
控制持續(xù)連接應保持打開狀態(tài)的時間。
Accept
通知服務器可以發(fā)回的數(shù)據(jù)類型。它是 MIME 類型的。
Accept-Charset
通知服務器客戶端能夠理解哪些字符集。
Accept-Encoding
通知服務器有關編碼算法,通常是一種壓縮算法,可用于回送的資源。
Accept-Language
通知服務器關于服務器預期發(fā)回的語言。這是一個提示,并不一定完全在用戶的全面控制之下:服務器應始終注意不要重寫明確的用戶選擇(如在下拉列表中選擇語言)。
Expect
表示服務器需要滿足的期望,以便正確處理請求。Max-Forwards
...
Cookie
包含先前由服務器使用Set-Cookie
標題發(fā)送的存儲的 HTTP Cookie 。
Set-Cookie
將 cookies 從服務器發(fā)送到用戶代理。
Cookie2
用于包含一個 HTTP cookie ,以前由服務器通過Set-Cookie2
標題發(fā)送,但已被規(guī)范廢棄。Cookie
改為使用。
Set-Cookie2
用于將 cookie 從服務器發(fā)送到用戶代理,但已被規(guī)范廢棄。Set-Cookie
改為使用。
Access-Control-Allow-Origin
指示是否可以共享響應。
Access-Control-Allow-Credentials
指示在憑證標志為 true 時是否可以公開對請求的響應。
Access-Control-Allow-Headers
用于響應預檢請求以指示在發(fā)出實際請求時可以使用哪些 HTTP 標頭。
Access-Control-Allow-Methods
指定訪問資源以響應預檢請求時允許的方法。
Access-Control-Expose-Headers
通過列出其名稱,指示哪些頭可以作為響應的一部分公開。
Access-Control-Max-Age
指示可以緩存預檢請求結果的時間長度。
Access-Control-Request-Headers
用于發(fā)出預檢請求以讓服務器知道在實際請求發(fā)生時將使用哪些 HTTP 標頭。
Access-Control-Request-Method
用于發(fā)出預檢請求時,讓服務器知道在發(fā)出實際請求時將使用哪種 HTTP 方法。
Origin
指示獲取來源的位置。
DNT
用于表達用戶的跟蹤偏好。
Tk
指示應用于相應請求的跟蹤狀態(tài)。
Content-Disposition
如果傳輸?shù)馁Y源應以內(nèi)聯(lián)方式顯示(標題不存在時的默認行為),或者應該像下載一樣處理,并且瀏覽器應顯示“另存為”窗口,那么它是響應標頭。
Content-Length
表示發(fā)送給收件人的實體主體的大小,以十進制數(shù)表示。
Content-Type
指示資源的媒體類型。
Content-Encoding
用于指定壓縮算法。
Content-Language
描述用于受眾的語言,以便用戶根據(jù)用戶自己的首選語言進行區(qū)分。
Content-Location
指示返回數(shù)據(jù)的備用位置。
Forwarded
包含代理服務器的面向客戶端的信息,這些信息在請求路徑中包含代理時發(fā)生了改變或丟失。
X-Forwarded-For
標識通過 HTTP 代理或負載平衡器連接到 Web 服務器的客戶端的始發(fā) IP 地址。
X-Forwarded-Host
標識客戶端用于連接到代理或負載平衡器的原始主機請求。
X-Forwarded-Proto
標識客戶端用于連接到代理或負載平衡器的協(xié)議( HTTP 或 HTTPS )。
Via
代理添加了正向和反向代理,并且可以出現(xiàn)在請求頭和響應頭中。
Location
指示將頁面重定向到的 URL 。
From
包含控制請求用戶代理的人類用戶的 Internet 電子郵件地址。
Host
指定服務器的域名(用于虛擬主機),以及(可選)指定服務器正在偵聽的 TCP 端口號。
Referer
之前的網(wǎng)頁的地址,從該網(wǎng)頁開始,鏈接到當前請求的頁面。
Referrer-Policy
管理在Referer
頭文件中發(fā)送的引用者信息應包含在請求中。
User-Agent
包含允許網(wǎng)絡協(xié)議對等方標識請求軟件用戶代理的應用程序類型,操作系統(tǒng),軟件供應商或軟件版本的特征字符串。另請參閱 Firefox 用戶代理字符串參考。
Allow
列出資源支持的一組 HTTP 請求方法。
Server
包含有關原始服務器用來處理請求的軟件的信息。
Accept-Ranges
指示服務器是否支持范圍請求,如果有,請在哪個單位范圍內(nèi)表示。
Range
指示服務器應返回的文檔的一部分。
If-Range
創(chuàng)建一個條件范圍請求,只有當給定的 etag 或日期與遠程資源匹配時才會滿足該條件范圍請求。用于防止從資源的不兼容版本下載兩個范圍。
Content-Range
指示部分消息所屬的全身消息的位置。
Content-Security-Policy
(CSP)控制用戶代理允許為給定頁面加載的資源。
Content-Security-Policy-Report-Only
允許 Web 開發(fā)人員通過監(jiān)視(但不強制執(zhí)行)其效果來實驗策略。這些違規(guī)報告由通過 HTTP 請求發(fā)送到指定 URI 的 JSON 文檔組成POST
。
Public-Key-Pins
(HPKP)將特定加密公鑰與某個 Web 服務器關聯(lián),以降低偽造證書對 MITM 攻擊的風險。Public-Key-Pins-Report-Only
將報告發(fā)送到標題中指定的 report-uri ,并且仍允許客戶端連接到服務器,即使違反了鎖定。
Strict-Transport-Security
(HSTS)使用 HTTPS 而不是 HTTP 強制通信。
Upgrade-Insecure-Requests
向服務器發(fā)送一個信號,表示客戶對加密和認證響應的偏好,并且可以成功處理該upgrade-insecure-requests
指令。
X-Content-Type-Options
禁用 MIME 嗅探并強制瀏覽器使用中指定的類型Content-Type
。
X-Frame-Options
(XFO)指示是允許瀏覽器呈現(xiàn)<frame>
,<iframe>
或者<object>
X-XSS-Protection
中的頁面,還是啟用跨站點腳本過濾。
Ping-From
...Ping-To
...Last-Event-ID
...
Transfer-Encoding
指定用于安全地將實體傳送給用戶的編碼形式。
TE
指定用戶代理愿意接受的傳輸編碼。
Trailer
允許發(fā)件人在分塊郵件末尾添加其他字段。
Sec-WebSocket-Key
...Sec-WebSocket-Extensions
...Sec-WebSocket-Accept
...Sec-WebSocket-Protocol
...Sec-WebSocket-Version
...
Date
包含消息來源的日期和時間。
Large-Allocation
告訴瀏覽器正在加載的頁面將要執(zhí)行大量分配。
Link
... Retry-After
表示用戶代理在進行后續(xù)請求之前應等待多長時間。
SourceMap
將生成的代碼鏈接到源地圖。升級標題字段
Upgrade
的相關 RFC 文檔是 RFC 7230 的6.7節(jié)。該標準建立了在當前客戶端,服務器,傳輸協(xié)議連接上升級或更改為不同協(xié)議的規(guī)則。例如,如果服務器決定確認并實現(xiàn) Upgrade 標頭字段,則此標頭標準允許客戶端從 HTTP 1.1 更改為 HTTP 2.0 。Niether 聚會需要接受升級標題字段中指定的條款。它可以在客戶端和服務器頭中使用。如果指定了升級頭域,那么發(fā)送者也必須發(fā)送帶有指定升級選項的連接頭域。有關 Connection 標題字段的詳細信息,請參閱上述 RFC 的6.1節(jié)。
Vary
確定如何匹配未來的請求標頭,以決定是否可以使用緩存的響應,而不是從原始服務器請求新的響應。
X-DNS-Prefetch-Control
控制 DNS 預取,這是瀏覽器主動執(zhí)行用戶可以選擇關注的兩個鏈接的域名解析功能以及文檔引用的項目(包括圖像,CSS,JavaScript 等)的 URL 的功能。X-Firefox-Spdy
... ... X-Requested-With
... ... X-UA-Compatible
... ...
您可以通過編寫新條目或改進現(xiàn)有條目來提供幫助。