HTTP 標頭
HTTP 頭部 允許客戶端和伺服器在 HTTP 請求或響應中傳遞附加資訊。HTTP 頭部由其不區分大小寫的名稱,後跟冒號 (:),然後是其值組成。值之前的空白字元將被忽略。
在歷史上,自定義專有頭部使用 X- 字首,但這種約定在 2012 年 6 月被棄用,因為它在非標準欄位成為 RFC 6648 中的標準時造成不便。其他頭部列在 IANA HTTP 欄位名稱登錄檔 中,其原始內容是在 RFC 4229 中定義的。IANA 登錄檔列出頭部,包括 其狀態資訊,其狀態可能是“永久”(標準定義)、“臨時”(新的)、“已棄用”(不推薦使用)或“已廢棄”(不再使用)。
頭部可以根據其上下文進行分組
- 請求頭部
-
包含有關要獲取的資源或請求該資源的客戶端的更多資訊。
- 響應頭部
-
包含有關響應的附加資訊,例如其位置或提供該響應的伺服器。
- 表示頭部
-
包含有關資源主體的資訊,例如其 MIME 型別 或應用的編碼/壓縮。
- 有效載荷頭部
-
包含與表示無關的有效載荷資料資訊,包括內容長度和用於傳輸的編碼。
頭部還可以根據 代理 對它們的處理方式進行分組
- 端到端頭部
-
這些頭部必須傳輸到訊息的最終接收者:對於請求,是伺服器,對於響應,是客戶端。中間代理必須以未修改的方式重新傳輸這些頭部,並且快取必須儲存它們。
- 逐跳頭部
-
這些頭部僅對單個傳輸級連線有意義,並且不得由代理重新傳輸或快取。請注意,只能使用
Connection頭部設定逐跳頭部。
認證
WWW-Authenticate-
定義訪問資源時應使用的身份驗證方法。
-
包含用於向伺服器驗證使用者代理的憑據。
Proxy-Authenticate-
定義訪問代理伺服器後面的資源時應使用的身份驗證方法。
-
包含用於向代理伺服器驗證使用者代理的憑據。
快取
Age-
物件在代理快取中的時間(以秒為單位)。
Cache-Control-
請求和響應中快取機制的指令。
Clear-Site-Data-
清除與請求網站關聯的瀏覽資料(例如,cookie、儲存、快取)。
Expires-
響應被認為陳舊的日期/時間。
No-Vary-SearchExperimental-
指定一組規則,這些規則定義了 URL 的查詢引數將如何影響快取匹配。這些規則決定了具有不同 URL 引數的相同 URL 是否應另存為單獨的瀏覽器快取條目。
條件
Last-Modified-
資源的最後修改日期,用於比較同一資源的多個版本。它不如
ETag精確,但在某些環境中更易於計算。使用If-Modified-Since和If-Unmodified-Since的條件請求使用此值來改變請求的行為。 ETag-
一個唯一字串,標識資源的版本。使用
If-Match和If-None-Match的條件請求使用此值來改變請求的行為。 If-Match-
使請求成為條件請求,並且僅當儲存的資源與給定的 ETags 之一匹配時才應用該方法。
If-None-Match-
使請求成為條件請求,並且僅當儲存的資源不與任何給定的 ETags 匹配時才應用該方法。這用於更新快取(對於安全請求),或者在已存在資源時防止上傳新資源。
If-Modified-Since-
使請求成為條件請求,並且期望僅當資源在給定的日期之後被修改時才傳輸資源。這用於僅在快取過期時傳輸資料。
If-Unmodified-Since-
使請求成為條件請求,並且期望僅當資源在給定的日期之後未被修改時才傳輸資源。這確保了特定範圍內的新的片段與以前的片段的一致性,或者在修改現有文件時實現樂觀併發控制系統。
Vary-
確定如何匹配請求頭部以決定是否可以使用快取的響應,而不是從源伺服器請求新的響應。
連線管理
Connection-
控制當前事務完成後網路連線是否保持開啟狀態。
Keep-Alive-
控制持久連線應保持開啟多長時間。
內容協商
有關更多詳細資訊,請參閱 內容協商文章。
Accept-
通知伺服器可以發回的型別的資料。
Accept-CharsetDeprecatedAccept-Encoding-
編碼演算法,通常是 壓縮演算法,它可以用於發回的資源。
Accept-Language-
通知伺服器伺服器預期發回的人類語言。這是一個提示,並不一定完全在使用者的控制之下:伺服器應始終注意不要覆蓋顯式使用者選擇(例如,從下拉選單中選擇語言)。
Accept-PatchAccept-Post
控制
Expect-
表示伺服器需要滿足的期望,才能正確處理請求。
Max-Forwards-
當使用
TRACE時,表示請求在被反射回傳送者之前可以進行的最大跳數。
Cookie
-
包含伺服器之前使用
Set-Cookie頭部發送的儲存的 HTTP cookie。 -
從伺服器將 cookie 傳送到使用者代理。
CORS
有關更多資訊,請參閱 CORS 文件。
Access-Control-Allow-Credentials-
指示當憑據標誌為真時,對請求的響應是否可以公開。
Access-Control-Allow-Headers-
用於響應 預檢請求,以指示在進行實際請求時可以使用哪些 HTTP 頭部。
Access-Control-Allow-Methods-
在響應預檢請求時,指定訪問資源時允許的方法。
Access-Control-Allow-Origin-
指示響應是否可以共享。
Access-Control-Expose-Headers-
指示哪些頭部可以作為響應的一部分公開,方法是列出它們的名稱。
Access-Control-Max-Age-
指示預檢請求的結果可以快取多長時間。
Access-Control-Request-Headers-
在發出預檢請求時使用,以讓伺服器知道在發出實際請求時將使用哪些 HTTP 頭部。
Access-Control-Request-Method-
在發出預檢請求時使用,以讓伺服器知道在發出實際請求時將使用哪些 HTTP 方法。
Origin-
指示提取的來源。
Timing-Allow-Origin-
指定允許檢視透過 資源計時 API 的功能檢索的屬性值的來源,否則這些屬性值將被報告為零,因為存在跨域限制。
下載
Content-Disposition-
指示傳輸的資源應該內聯顯示(沒有該頭的預設行為),還是應該像下載一樣處理,瀏覽器應該顯示“另存為”對話方塊。
完整性摘要
Content-DigestExperimental-
提供 摘要,該摘要是 HTTP 訊息中幀化的八位位元組流(訊息內容)的摘要,它取決於
Content-Encoding和Content-Range。 DigestDeprecated Non-standard-
提供 摘要,用於資源。請參閱
Content-Digest和Repr-Digest。 Repr-DigestExperimental-
在傳輸之前提供目標資源的所選表示的 摘要。與
Content-Digest不同,摘要不會考慮Content-Encoding或Content-Range。 Want-Content-DigestExperimental-
宣告對
Content-Digest頭部的願望。它是Want-Repr-Digest的Content-等效項。 Want-DigestDeprecated Non-standard-
表示對一個
Digest頭部的請求。請參見Want-Content-Digest和Want-Repr-Digest。 Want-Repr-Digest實驗性-
表示對一個
Repr-Digest頭部的請求。它是Want-Content-Digest的Repr-類似物。
訊息正文資訊
Content-Length-
資源的大小,以十進位制位元組數表示。
Content-Type-
指示資源的媒體型別。
Content-Encoding-
用於指定壓縮演算法。
Content-Language-
描述面向使用者的語言,以便使用者可以根據自己的首選語言進行區分。
Content-Location-
指示返回資料的備用位置。
代理
範圍請求
HTTP 範圍請求 允許客戶端從伺服器請求資源的一部分。範圍請求對於支援隨機訪問的媒體播放器、知道只需要大型檔案一部分的資料工具以及允許使用者暫停和恢復下載的下載管理器等應用程式很有用。
Accept-Ranges-
指示伺服器是否支援範圍請求,如果支援,則指示範圍可以用哪個單位來表示。
Range-
指示伺服器應該返回的文件部分。
If-Range-
建立一個條件範圍請求,只有當給定的 etag 或日期與遠端資源匹配時才滿足。用於防止從資源的不相容版本下載兩個範圍。
Content-Range-
指示部分訊息在完整主體訊息中的位置。
重定向
Location-
指示將頁面重定向到的 URL。
重新整理-
指示瀏覽器重新載入頁面或重定向到另一個頁面。取值與具有
http-equiv="refresh"的meta元素相同。
請求上下文
From-
包含控制請求使用者代理的人類使用者的網際網路電子郵件地址。
Host-
指定伺服器的域名(用於虛擬主機),以及(可選)伺服器監聽的 TCP 埠號。
Referer-
之前網頁的地址,從該網頁連結到當前請求的頁面。
Referrer-Policy-
控制在
Referer頭部中傳送的哪些引用資訊應包含在發出的請求中。 User-Agent-
包含一個特徵字串,該字串允許網路協議對等體識別請求軟體使用者代理的應用程式型別、作業系統、軟體供應商或軟體版本。
響應上下文
安全性
Cross-Origin-Embedder-Policy(COEP)-
允許伺服器為給定文件宣告一個嵌入器策略。
Cross-Origin-Opener-Policy(COOP)-
阻止其他域開啟/控制視窗。
Cross-Origin-Resource-Policy(CORP)-
阻止其他域讀取應用此頭的資源的響應。另請參見 CORP 說明文章。
Content-Security-Policy(CSP)-
控制使用者代理允許為給定頁面載入的資源。
Content-Security-Policy-Report-Only-
允許 Web 開發人員透過監控而非強制執行其效果來試驗策略。這些違規報告由透過 HTTP
POST請求傳送到指定 URI 的JSON 文件組成。 Expect-CT已棄用-
允許網站選擇加入報告和執行證書透明度,以檢測對該網站使用錯誤簽發的證書。
Permissions-Policy-
提供了一種機制來允許和拒絕在網站自己的框架中以及在它嵌入的
<iframe>中使用瀏覽器功能。 Reporting-Endpoints實驗性-
響應頭,允許網站所有者指定一個或多個用於接收錯誤的端點,例如 CSP 違規報告、
Cross-Origin-Opener-Policy報告或其他通用違規行為。 Strict-Transport-Security(HSTS)-
強制使用 HTTPS 而不是 HTTP 進行通訊。
Upgrade-Insecure-Requests-
向伺服器傳送一個訊號,表示客戶端偏好使用加密和身份驗證的響應,並且可以成功處理
upgrade-insecure-requests指令。 X-Content-Type-Options-
停用 MIME 推斷,並強制瀏覽器使用
Content-Type中給定的型別。 X-Frame-Options(XFO)X-Permitted-Cross-Domain-Policies-
指定是否允許跨域策略檔案(
crossdomain.xml)。該檔案可以定義一個策略來授予客戶端(例如 Adobe 的 Flash Player(現已過時)、Adobe Acrobat、Microsoft Silverlight(現已過時)或 Apache Flex)跨域處理資料的許可權,否則這些資料將因同源策略 而受到限制。有關更多資訊,請參見跨域策略檔案規範。 X-Powered-By-
可能由託管環境或其他框架設定,包含有關它們的資訊,但對應用程式或其訪問者沒有用。取消設定此標頭以避免暴露潛在的漏洞。
X-XSS-Protection-
啟用跨站點指令碼過濾。
獲取元資料請求頭
獲取元資料請求頭 提供有關請求來源的資訊。伺服器可以使用它們根據請求的來源和資源的使用方式來決定是否允許請求。
Sec-Fetch-Site-
指示請求發起者來源與其目標來源之間的關係。它是一個結構化頭,其值為一個令牌,可能的值為
cross-site、same-origin、same-site和none。 Sec-Fetch-Mode-
指示伺服器的請求模式。它是一個結構化頭,其值為一個令牌,可能的值為
cors、navigate、no-cors、same-origin和websocket。 Sec-Fetch-User-
指示導航請求是否由使用者啟用觸發。它是一個結構化頭,其值為一個布林值,因此可能的值為
?0表示假,?1表示真。 Sec-Fetch-Dest-
指示請求的目標。它是一個結構化頭,其值為一個令牌,可能的值為
audio、audioworklet、document、embed、empty、font、image、manifest、object、paintworklet、report、script、serviceworker、sharedworker、style、track、video、worker和xslt。
以下請求頭並非嚴格意義上的“獲取元資料請求頭”,但同樣提供了有關資源使用方式的資訊。伺服器可能會使用它們來修改其快取行為,或者返回的資訊
Sec-Purpose-
指示請求的目的,當目的不是使用者代理的直接使用時。該標頭目前有一個可能的值,
prefetch,表示正在預取資源以備將來可能的導航。 -
在服務工作程式啟動期間,預取請求傳送到
fetch()資源時傳送的請求頭。該值使用NavigationPreloadManager.setHeaderValue()設定,可用於通知伺服器返回與正常fetch()操作不同的資源。
伺服器傳送的事件
Reporting-Endpoints-
響應頭,用於指定伺服器端點,當瀏覽器使用Reporting API 時,瀏覽器應將警告和錯誤報告發送到這些端點。
Report-To已棄用 非標準-
響應頭,用於指定伺服器端點,當瀏覽器使用Reporting API 時,瀏覽器應將警告和錯誤報告發送到這些端點。
傳輸編碼
Transfer-Encoding-
指定用於安全地將資源傳輸到使用者的編碼形式。
TE-
指定使用者代理願意接受的傳輸編碼。
Trailer-
允許傳送者在分塊訊息的末尾包含額外的欄位。
WebSocket
Sec-WebSocket-Accept-
從伺服器傳送到客戶端,指示伺服器願意啟動 WebSocket 連線。
Sec-WebSocket-Key-
從客戶端傳送到伺服器,以確認它“確實希望”請求將 HTTP 客戶端升級為 WebSocket。
其他
Alt-Svc-
用於列出到達此服務的備用方法。
Alt-Used-
用於識別正在使用的備用服務。
Date-
包含訊息的起源日期和時間。
Link-
此實體頭欄位提供了一種在 HTTP 頭部中序列化一個或多個連結的方法。它在語義上等效於 HTML
<link>元素。 Retry-After-
指示使用者代理在發出後續請求之前應等待多長時間。
Server-Timing-
為給定的請求-響應週期通訊一個或多個指標和描述。
Service-Worker-Allowed-
透過在Service Worker 指令碼的響應中 包含此頭,用於移除路徑限制。
SourceMap-
將生成的程式碼連結到 源對映。
Upgrade-
此 HTTP/1.1(僅)頭可用於將已建立的客戶端/伺服器連線升級到不同的協議(在相同的傳輸協議上)。例如,它可以用於客戶端將連線從 HTTP 1.1 升級到 HTTP 2.0,或將 HTTP 或 HTTPS 連線升級到 WebSocket。
Priority-
提供有關特定連線上特定資源請求優先順序的提示。該值可以在請求中傳送以指示客戶端優先順序,或者在響應中傳送(如果伺服器選擇重新排列請求的優先順序)。
實驗性標頭
歸因報告頭
《歸因報告 API》允許開發者衡量轉化率——例如,當用戶點選一個嵌入在一個網站上的廣告,然後在供應商的網站上購買商品時——並訪問有關這些轉化的報告。它在不依賴第三方跟蹤 cookie 的情況下實現這一點,而是依賴各種標頭來註冊與匹配以指示轉化的 **來源** 和 **觸發器**。
Attribution-Reporting-Eligible-
用於指示與當前請求相對應的響應是否有資格參加歸因報告,方法是註冊歸因來源或觸發器。
Attribution-Reporting-Register-Source-
作為對包含
Attribution-Reporting-Eligible標頭的請求的響應的一部分包含在內,用於註冊歸因來源。 Attribution-Reporting-Register-Trigger-
作為對包含
Attribution-Reporting-Eligible標頭的請求的響應的一部分包含在內,用於註冊歸因觸發器。
客戶端提示
HTTP 客戶端提示 是一組請求標頭,提供有關客戶端的有用資訊,例如裝置型別和網路狀況,並允許伺服器最佳化針對這些狀況的服務內容。
伺服器使用 Accept-CH 主動地從客戶端請求它們感興趣的客戶端提示標頭。客戶端可能會選擇在後續請求中包含請求的標頭。
Accept-CH-
伺服器可以使用
Accept-CH標頭欄位或具有http-equiv屬性的等效 HTML<meta>元素來宣傳對客戶端提示的支援。 Critical-CH實驗性
以下是客戶端提示的不同類別。
使用者代理客戶端提示
《UA 客戶端提示》是一組請求標頭,提供有關使用者代理、其執行的平臺/體系結構以及在使用者代理或平臺上設定的使用者首選項的資訊。
Sec-CH-UA實驗性-
使用者代理的品牌和版本。
Sec-CH-UA-Arch實驗性-
使用者代理的基礎平臺體系結構。
Sec-CH-UA-Bitness實驗性-
使用者代理的基礎 CPU 架構位數(例如“64”位)。
Sec-CH-UA-Form-Factor實驗性-
使用者代理的形式因素,描述使用者如何與使用者代理互動。
Sec-CH-UA-Full-Version已棄用-
使用者代理的完整版本字串。
Sec-CH-UA-Full-Version-List實驗性-
使用者代理品牌列表中每個品牌的完整版本。
Sec-CH-UA-Mobile實驗性-
使用者代理正在移動裝置上執行,或者更普遍地說,更喜歡“移動”使用者體驗。
Sec-CH-UA-Model實驗性-
使用者代理的裝置型號。
Sec-CH-UA-Platform實驗性-
使用者代理的基礎作業系統/平臺。
Sec-CH-UA-Platform-Version實驗性-
使用者代理的基礎作業系統版本。
Sec-CH-UA-WoW64實驗性-
使用者代理二進位制檔案是否在 64 位 Windows 上以 32 位模式執行。
Sec-CH-Prefers-Color-Scheme實驗性-
使用者對深色或淺色配色方案的偏好。
Sec-CH-Prefers-Reduced-Motion實驗性-
使用者對檢視更少動畫和內容佈局變化的偏好。
Sec-CH-Prefers-Reduced-Transparency實驗性-
請求標頭指示使用者代理對降低透明度的偏好。
裝置客戶端提示
Content-DPR已棄用 非標準-
響應標頭用於確認影像裝置到畫素比率 (DPR),在請求中使用螢幕
DPR客戶端提示來選擇影像資源。 Device-Memory-
可用客戶端 RAM 記憶體的大致數量。這是 裝置記憶體 API 的一部分。
DPR已棄用 非標準-
請求標頭提供客戶端裝置畫素比率(每個 CSS 畫素 的物理裝置畫素數)。
Viewport-Width已棄用 非標準-
請求標頭提供客戶端的佈局視窗寬度,以 CSS 畫素 為單位。
Width已棄用 非標準-
請求標頭指示所需的資源寬度,以物理畫素(影像的內在大小)為單位。
網路客戶端提示
網路客戶端提示允許伺服器根據使用者選擇以及網路頻寬和延遲來選擇傳送哪些資訊。
隱私
DNT已棄用 非標準-
請求標頭,指示使用者的跟蹤偏好(請勿跟蹤)。已棄用,取而代之的是全域性隱私控制 (GPC),它使用
Sec-GPC標頭與伺服器通訊,並可透過navigator.globalPrivacyControl供客戶端訪問。 Tk已棄用 非標準-
響應標頭,指示應用於相應請求的跟蹤狀態。與 DNT 結合使用。
Sec-GPC非標準 實驗性-
指示使用者是否同意網站或服務將他們的個人資訊出售或共享給第三方。
安全性
Origin-Isolation實驗性-
提供一種機制,允許 Web 應用程式隔離其來源。
伺服器傳送的事件
NEL實驗性-
定義了一種機制,使開發人員能夠宣告網路錯誤報告策略。
主題 API
主題 API 為開發者提供了一種機制來實現諸如基於興趣的廣告 (IBA) 等用例。有關更多資訊,請參閱 主題 API 文件。
Observe-Browsing-Topics實驗性 非標準-
響應頭用於標記從呼叫站點 URL 推斷出的興趣主題,這些主題在對由 啟用主題 API 的功能 生成的請求的響應中被觀察到。
Sec-Browsing-Topics實驗性 非標準-
請求頭,它將當前使用者的所選主題與其關聯的請求一起傳送,這些主題由廣告技術平臺用於選擇要顯示的個性化廣告。
其他
Accept-Push-Policy實驗性-
客戶端可以透過在請求中傳送
Accept-Push-Policy頭欄位來表達對請求的所需推送策略。 Accept-Signature實驗性-
客戶端可以傳送
Accept-Signature頭欄位,以指示其有意利用任何可用的簽名,並指示它支援哪些型別的簽名。 Early-Data實驗性-
指示請求已透過 TLS 早期資料傳遞。
Origin-Agent-Cluster實驗性-
響應頭用於指示關聯的
Document應放置在源鍵控的 代理叢集 中。這種隔離允許使用者代理更有效地為代理叢集分配特定於實現的資源,例如程序或執行緒。 Push-Policy實驗性-
一個
Push-Policy定義了伺服器在處理請求時關於推送的行為。 Set-Login實驗性-
由聯合身份提供者 (IdP) 傳送的響應頭,用於設定其登入狀態,即當前瀏覽器上是否有任何使用者登入到 IdP。這將由瀏覽器儲存,並由 FedCM API 使用。
Signature實驗性-
該
Signature頭欄位傳達了交換籤名的列表,每個簽名都附帶了有關如何確定簽名許可權和重新整理該簽名的資訊。 Signed-Headers實驗性-
該
Signed-Headers頭欄位標識要包含在簽名中的響應頭欄位的有序列表。 Speculation-Rules實驗性-
提供指向包含 推測規則 JSON 定義的文字資源的 URL 列表。當響應是 HTML 文件時,這些規則將被新增到文件的推測規則集中。
Supports-Loading-Mode實驗性-
由導航目標設定,以選擇使用各種風險更高的載入模式。例如,跨域、同站點的 預渲染 需要
Supports-Loading-Mode值為credentialed-prerender。
非標準標頭
X-Forwarded-For非標準-
標識透過 HTTP 代理或負載均衡器連線到 Web 伺服器的客戶端的源 IP 地址。
X-Forwarded-Host非標準-
標識客戶端用於連線到您的代理或負載均衡器的原始請求主機。
X-Forwarded-Proto非標準-
標識客戶端用於連線到您的代理或負載均衡器的協議 (HTTP 或 HTTPS)。
X-DNS-Prefetch-Control非標準-
控制 DNS 預取,這是一種功能,瀏覽器透過它主動對使用者可能選擇的連結以及文件引用的專案的 URL(包括影像、CSS、JavaScript 等)執行域名解析。
X-Robots-Tag非標準-
該
X-Robots-TagHTTP 頭用於指示如何在公共搜尋引擎結果中索引網頁。該頭與<meta name="robots" content="…">實際上是等效的。
已棄用標頭
貢獻
您可以透過 編寫新條目 或改進現有條目來提供幫助。