HTTP 標頭

HTTP 頭部 允許客戶端和伺服器在 HTTP 請求或響應中傳遞附加資訊。HTTP 頭部由其不區分大小寫的名稱,後跟冒號 (:),然後是其值組成。值之前的空白字元將被忽略。

在歷史上,自定義專有頭部使用 X- 字首,但這種約定在 2012 年 6 月被棄用,因為它在非標準欄位成為 RFC 6648 中的標準時造成不便。其他頭部列在 IANA HTTP 欄位名稱登錄檔 中,其原始內容是在 RFC 4229 中定義的。IANA 登錄檔列出頭部,包括 其狀態資訊,其狀態可能是“永久”(標準定義)、“臨時”(新的)、“已棄用”(不推薦使用)或“已廢棄”(不再使用)。

頭部可以根據其上下文進行分組

請求頭部

包含有關要獲取的資源或請求該資源的客戶端的更多資訊。

響應頭部

包含有關響應的附加資訊,例如其位置或提供該響應的伺服器。

表示頭部

包含有關資源主體的資訊,例如其 MIME 型別 或應用的編碼/壓縮。

有效載荷頭部

包含與表示無關的有效載荷資料資訊,包括內容長度和用於傳輸的編碼。

頭部還可以根據 代理 對它們的處理方式進行分組

端到端頭部

這些頭部必須傳輸到訊息的最終接收者:對於請求,是伺服器,對於響應,是客戶端。中間代理必須以未修改的方式重新傳輸這些頭部,並且快取必須儲存它們。

逐跳頭部

這些頭部僅對單個傳輸級連線有意義,並且不得由代理重新傳輸或快取。請注意,只能使用 Connection 頭部設定逐跳頭部。

認證

WWW-Authenticate

定義訪問資源時應使用的身份驗證方法。

Authorization

包含用於向伺服器驗證使用者代理的憑據。

Proxy-Authenticate

定義訪問代理伺服器後面的資源時應使用的身份驗證方法。

Proxy-Authorization

包含用於向代理伺服器驗證使用者代理的憑據。

快取

Age

物件在代理快取中的時間(以秒為單位)。

Cache-Control

請求和響應中快取機制的指令。

Clear-Site-Data

清除與請求網站關聯的瀏覽資料(例如,cookie、儲存、快取)。

Expires

響應被認為陳舊的日期/時間。

指定一組規則,這些規則定義了 URL 的查詢引數將如何影響快取匹配。這些規則決定了具有不同 URL 引數的相同 URL 是否應另存為單獨的瀏覽器快取條目。

條件

Last-Modified

資源的最後修改日期,用於比較同一資源的多個版本。它不如 ETag 精確,但在某些環境中更易於計算。使用 If-Modified-SinceIf-Unmodified-Since 的條件請求使用此值來改變請求的行為。

ETag

一個唯一字串,標識資源的版本。使用 If-MatchIf-None-Match 的條件請求使用此值來改變請求的行為。

If-Match

使請求成為條件請求,並且僅當儲存的資源與給定的 ETags 之一匹配時才應用該方法。

If-None-Match

使請求成為條件請求,並且僅當儲存的資源與任何給定的 ETags 匹配時才應用該方法。這用於更新快取(對於安全請求),或者在已存在資源時防止上傳新資源。

If-Modified-Since

使請求成為條件請求,並且期望僅當資源在給定的日期之後被修改時才傳輸資源。這用於僅在快取過期時傳輸資料。

If-Unmodified-Since

使請求成為條件請求,並且期望僅當資源在給定的日期之後未被修改時才傳輸資源。這確保了特定範圍內的新的片段與以前的片段的一致性,或者在修改現有文件時實現樂觀併發控制系統。

Vary

確定如何匹配請求頭部以決定是否可以使用快取的響應,而不是從源伺服器請求新的響應。

連線管理

Connection

控制當前事務完成後網路連線是否保持開啟狀態。

Keep-Alive

控制持久連線應保持開啟多長時間。

內容協商

有關更多詳細資訊,請參閱 內容協商文章

Accept

通知伺服器可以發回的型別的資料。

Accept-Charset Deprecated

宣傳客戶端支援的 字元編碼。它已棄用,因為 UTF-8 已變得無處不在,使用該頭部會使客戶端指紋識別更容易。

Accept-Encoding

編碼演算法,通常是 壓縮演算法,它可以用於發回的資源。

Accept-Language

通知伺服器伺服器預期發回的人類語言。這是一個提示,並不一定完全在使用者的控制之下:伺服器應始終注意不要覆蓋顯式使用者選擇(例如,從下拉選單中選擇語言)。

Accept-Patch

一個請求內容協商響應頭部,它宣傳伺服器在 PATCH 請求中能夠理解的 媒體型別

Accept-Post

一個請求內容協商響應頭部,它宣傳伺服器在 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-Digest Experimental

提供 摘要,該摘要是 HTTP 訊息中幀化的八位位元組流(訊息內容)的摘要,它取決於 Content-EncodingContent-Range

Digest Deprecated Non-standard

提供 摘要,用於資源。請參閱 Content-DigestRepr-Digest

Repr-Digest Experimental

在傳輸之前提供目標資源的所選表示的 摘要。與 Content-Digest 不同,摘要不會考慮 Content-EncodingContent-Range

Want-Content-Digest Experimental

宣告對 Content-Digest 頭部的願望。它是 Want-Repr-DigestContent- 等效項。

Want-Digest Deprecated Non-standard

表示對一個Digest 頭部的請求。請參見Want-Content-DigestWant-Repr-Digest

Want-Repr-Digest 實驗性

表示對一個Repr-Digest 頭部的請求。它是Want-Content-DigestRepr- 類似物。

訊息正文資訊

Content-Length

資源的大小,以十進位制位元組數表示。

Content-Type

指示資源的媒體型別。

Content-Encoding

用於指定壓縮演算法。

Content-Language

描述面向使用者的語言,以便使用者可以根據自己的首選語言進行區分。

Content-Location

指示返回資料的備用位置。

代理

Forwarded

包含來自代理伺服器客戶端的資訊,這些資訊在代理參與請求路徑時被更改或丟失。

Via

由代理(正向和反向代理)新增,可以出現在請求頭和響應頭中。

範圍請求

HTTP 範圍請求 允許客戶端從伺服器請求資源的一部分。範圍請求對於支援隨機訪問的媒體播放器、知道只需要大型檔案一部分的資料工具以及允許使用者暫停和恢復下載的下載管理器等應用程式很有用。

Accept-Ranges

指示伺服器是否支援範圍請求,如果支援,則指示範圍可以用哪個單位來表示。

Range

指示伺服器應該返回的文件部分。

If-Range

建立一個條件範圍請求,只有當給定的 etag 或日期與遠端資源匹配時才滿足。用於防止從資源的不相容版本下載兩個範圍。

Content-Range

指示部分訊息在完整主體訊息中的位置。

重定向

Location

指示將頁面重定向到的 URL。

重新整理

指示瀏覽器重新載入頁面或重定向到另一個頁面。取值與具有http-equiv="refresh"meta 元素相同。

請求上下文

From

包含控制請求使用者代理的人類使用者的網際網路電子郵件地址。

Host

指定伺服器的域名(用於虛擬主機),以及(可選)伺服器監聽的 TCP 埠號。

Referer

之前網頁的地址,從該網頁連結到當前請求的頁面。

Referrer-Policy

控制在Referer 頭部中傳送的哪些引用資訊應包含在發出的請求中。

User-Agent

包含一個特徵字串,該字串允許網路協議對等體識別請求軟體使用者代理的應用程式型別、作業系統、軟體供應商或軟體版本。

響應上下文

Allow

列出資源支援的 HTTP 請求方法集。

Server

包含有關源伺服器用於處理請求的軟體的資訊。

安全性

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)

指示是否允許瀏覽器在<frame><iframe><embed><object> 中呈現頁面。

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-sitesame-originsame-sitenone

Sec-Fetch-Mode

指示伺服器的請求模式。它是一個結構化頭,其值為一個令牌,可能的值為 corsnavigateno-corssame-originwebsocket

Sec-Fetch-User

指示導航請求是否由使用者啟用觸發。它是一個結構化頭,其值為一個布林值,因此可能的值為 ?0 表示假,?1 表示真。

Sec-Fetch-Dest

指示請求的目標。它是一個結構化頭,其值為一個令牌,可能的值為 audioaudioworkletdocumentembedemptyfontimagemanifestobjectpaintworkletreportscriptserviceworkersharedworkerstyletrackvideoworkerxslt

以下請求頭並非嚴格意義上的“獲取元資料請求頭”,但同樣提供了有關資源使用方式的資訊。伺服器可能會使用它們來修改其快取行為,或者返回的資訊

Sec-Purpose

指示請求的目的,當目的不是使用者代理的直接使用時。該標頭目前有一個可能的值,prefetch,表示正在預取資源以備將來可能的導航。

Service-Worker-Navigation-Preload

在服務工作程式啟動期間,預取請求傳送到 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

包含訊息的起源日期和時間。

此實體頭欄位提供了一種在 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 實驗性

伺服器使用 Critical-CH 以及 Accept-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 已棄用 非標準

請求標頭指示所需的資源寬度,以物理畫素(影像的內在大小)為單位。

網路客戶端提示

網路客戶端提示允許伺服器根據使用者選擇以及網路頻寬和延遲來選擇傳送哪些資訊。

客戶端連線到伺服器的頻寬的大致估計值,以 Mbps 為單位。這是 網路資訊 API 的一部分。

ECT 實驗性

與連線的延遲和頻寬最匹配的 有效連線型別(“網路配置檔案”)。這是 網路資訊 API 的一部分。

RTT 實驗性

應用程式層往返時間 (RTT),以毫秒為單位,包括伺服器處理時間。這是 網路資訊 API 的一部分。

Save-Data 實驗性

一個表示使用者代理對減少資料使用量偏好的字串 on

隱私

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-Tag HTTP 頭用於指示如何在公共搜尋引擎結果中索引網頁。該頭與 <meta name="robots" content="…"> 實際上是等效的。

已棄用標頭

Pragma 已棄用

特定於實現的頭,它可能在請求-響應鏈中的任何地方產生各種影響。用於向後相容 HTTP/1.0 快取,其中 Cache-Control 頭尚未存在。

Warning 已棄用

有關潛在問題的常規警告資訊。

貢獻

您可以透過 編寫新條目 或改進現有條目來提供幫助。

另請參閱