HTTP 頭欄位是指在超文字傳輸協議（HTTP）的請求和響應訊息中的訊息頭部分。它們定義了一個超文字傳輸協議事務中的操作引數。HTTP 頭部欄位可以自己根據需要定義，因此可能在 Web 伺服器和瀏覽器上發現非標準的頭欄位。 基本格式 協議頭的欄位，是在請求（request）或響應（response）行（一條訊息的第一行內容）之後傳輸的。協議頭的欄位是以明文的字串格式傳輸，是以冒號分隔的鍵名與鍵值對，以回車（CR）加換行（LF）符號序列結尾。協議頭部分的結尾以一個空白欄位標識，結果就是，也就是傳輸兩個連續的 CRLF。在歷史上，很長的行曾經可能以多個短行的形式傳輸；在下一行的開頭，輸出一個空格（SP）或者一個水平製表符（HT），表示它是一個後續行。在如今，這種換行形式已經被廢棄 Hypertext Transfer Protocol HTTP11 Message Syntax and Routing ietforg 。 型別 HTTP 頭欄位根據實際用途被分為以下 4 種類型： 通用頭欄位 請求頭欄位 響應頭欄位 實體頭欄位 欄位名 在 RFC 7230、RFC 7231、RFC 7232、RFC 7233、RFC 7234 和 RFC 7235 中，對一組核心欄位進行了標準化。有一份對於這些欄位的官方的登記冊，以及 一系列的補充規範 ，由網際網路號碼分配局（IANA）維護。各個應用程式也可以自行定義額外的欄位名字及相應的值。頭欄位的永久登記表和臨時登記表目前由 IANA 維護。其他的欄位名稱和允許的值可以由各應用程式定義。 按照慣例，非標準的協議頭欄位是在欄位名稱前加上 X 字首來標識。但這一慣例已在 2012 年 6 月被廢棄，因為按照這種慣例，非標準欄位變成標準欄位時會引起很多不方便之處。以前曾經有的使用 Downgraded 的限制也在 2013 年 3 月被解除。。 欄位值 某些欄位中可以包含註釋內容（例如 UserAgent、Server 和 Via 欄位中），這些註釋內容可由應用程式忽略。 很多欄位的值中可以包含帶有權重的質量（quality，常被簡稱為 Q）的鍵值對，指定的 重量 會在內容協商的過程中使用。 大小限制 標準中沒有對每個協議頭欄位的名稱和值的大小設定任何限制，也沒有限制欄位的個數。然而，出於實際場景及安全性的考慮，大部分的伺服器、客戶端和代理軟體都會實施一些限制。例如，Apache 23 伺服器在預設情況下限制每個欄位的大小不得超過 8190 位元組，同時，單個請求中最多有 100 個頭欄位 core Apache HTTP Server 。 請求欄位 協議頭欄位名 說明 示例 狀態 Accept 能夠接受的回應內容型別（ContentTypes）。參見內容協商。 Accept textplain 常設 AcceptCharset 能夠接受的字元集 AcceptCharset utf8 常設 AcceptEncoding 能夠接受的編碼方式列表。參考 HTTP 壓縮。 AcceptEncoding gzip deflate 常設 AcceptLanguage 能夠接受的回應內容的自然語言列表。參考 內容協商 。 AcceptLanguage enUS 常設 AcceptDatetime 能夠接受的按照時間來表示的版本 AcceptDatetime Thu 31 May 2007 203500 GMT 臨時 Authorization 用於超文字傳輸協議的認證的認證資訊 Authorization Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ 常設 CacheControl 用來指定在這次的請求 響應鏈中的所有快取機制 都必須 遵守的指令 CacheControl nocache 常設 Connection 該瀏覽器想要優先使用的連線型別 Hypertext Transfer Protocol HTTP11 Message Syntax and Routing Connection keepalive Connection Upgrade 常設 Cookie 之前由伺服器透過 Set Cookie （下文詳述）傳送的一個 超文字傳輸協議 Cookie Cookie Version1 Skinnew 常設：標準 ContentLength 以 八位位元組陣列 （8 位的位元組）表示的請求體的長度 ContentLength 348 常設 ContentMD5 請求體的內容的二進位制 MD5 雜湊值，以 Base64 編碼的結果 ContentMD5 Q2hlY2sgSW50ZWdyaXR5IQ 過時的 Hypertext Transfer Protocol HTTP11 Semantics and Content ContentType 請求體的 MIME 型別 （用於 POST 和 PUT 請求中） ContentType applicationxwwwformurlencoded 常設 Date 傳送該訊息的日期和時間（按照 RFC 7231 中定義的 超文字傳輸協議日期 格式來發送） Date Tue 15 Nov 1994 081231 GMT 常設 Expect 表明客戶端要求伺服器做出特定的行為 Expect 100continue 常設 From 發起此請求的使用者的郵件地址 From userexamplecom 常設 Host 伺服器的域名（用於虛擬主機 ），以及伺服器所監聽的傳輸控制協議埠號。如果所請求的埠是對應的服務的標準埠，則埠號可被省略。 Hypertext Transfer Protocol HTTP11 Message Syntax and Routing 自超檔案傳輸協議版本 11（HTTP11）開始便是必需欄位。 Host zhwikipediaorg80 Host zhwikipediaorg 常設 IfMatch 僅當客戶端提供的實體與伺服器上對應的實體相匹配時，才進行對應的操作。主要作用時，用作像 PUT 這樣的方法中，僅當從使用者上次更新某個資源以來，該資源未被修改的情況下，才更新該資源。 IfMatch 737060cd8c284d8af7ad3082f209582d 常設 IfModifiedSince 允許在對應的內容未被修改的情況下返回 304 未修改（ 304 Not Modified ） IfModifiedSince Sat 29 Oct 1994 194331 GMT 常設 IfNoneMatch 允許在對應的內容未被修改的情況下返回 304 未修改（ 304 Not Modified ），參考 超文字傳輸協議 的實體標記 IfNoneMatch 737060cd8c284d8af7ad3082f209582d 常設 IfRange 如果該實體未被修改過，則向我傳送我所缺少的那一個或多個部分；否則，傳送整個新的實體 IfRange 737060cd8c284d8af7ad3082f209582d 常設 IfUnmodifiedSince 僅當該實體自某個特定時間已來未被修改的情況下，才傳送回應。 IfUnmodifiedSince Sat 29 Oct 1994 194331 GMT 常設 MaxForwards 限制該訊息可被代理及閘道器轉發的次數。 MaxForwards 10 常設 Origin 發起一個針對 跨來源資源共享 的請求（要求伺服器在回應中加入一個訪問控制 允許來源（AccessControlAllowOrigin）欄位）。 Origin httpwwwexamplesocialnetworkcom 常設：標準 Pragma 與具體的實現相關，這些欄位可能在請求 回應鏈中的任何時候產生多種效果。 Pragma nocache 常設但不常用 ProxyAuthorization 用來向代理進行認證的認證資訊。 ProxyAuthorization Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ 常設 Range 僅請求某個實體的一部分。位元組偏移以 0 開始。參見位元組服務。 Range bytes500999 常設 Referer sic 引導者（referrer）這個單詞，在 RFC 中被拼錯了，因此在大部分的軟體實現中也拼錯了，以至於，錯誤的拼法成為了標準的用法，還被當成了正確的術語。 表示瀏覽器所訪問的前一個頁面，正是那個頁面上的某個連結將瀏覽器帶到了當前所請求的這個頁面。 Referer httpzhwikipediaorgwikiMain_Page 常設 TE 瀏覽器預期接受的傳輸編碼方式：可使用回應協議頭 TransferEncoding 欄位中的值；另外還可用 trailers（與 分塊 傳輸方式相關）這個值來表明瀏覽器希望在最後一個尺寸為 0 的塊之後還接收到一些額外的欄位。 TE trailers deflate 常設 UserAgent 瀏覽器的瀏覽器身份標識字串 UserAgent Mozilla50 X11 Linux x86_64 rv120 Gecko20100101 Firefox210 常設 Upgrade 要求伺服器升級到另一個協議。 Upgrade HTTP20 SHTTP13 IRC69 RTAx11 常設 Via 向伺服器告知，這個請求是由哪些代理發出的。 Via 10 fred 11 examplecom Apache11 常設 Warning 一個一般性的警告，告知，在實體內容體中可能存在錯誤。 Warning 199 Miscellaneous warning 常設 常見的非標準請求欄位 欄位名 說明 示例 XRequestedWith 主要用於標識 Ajax 及可擴充套件標記語言 請求。大部分的 JavaScript 框架會發送這個欄位，且將其值設定為 XMLHttpRequest XRequestedWith XMLHttpRequest DNTTry out theDo Not TrackHTTP header 請求某個網頁應用程式停止跟蹤某個使用者。在火狐瀏覽器中，相當於 XDoNotTrack 協議頭欄位（自 Firefox40 Beta 11 版開始支援）。Safari 和 Internet Explorer 9 也支援這個欄位。2011 年 3 月 7 日，草案提交 IETF。IETF Do Not Track A Universal ThirdParty Web Tracking Opt Out March 7 2011 全球資訊網協會 的跟蹤保護工作組正在就此製作一項規範。W3C Tracking Preference Expression DNT January 26 2012 DNT 1（DNT 啟用） DNT 0（DNT 被停用） XForwardedForAmos Jeffries 20100702 一個事實標準 ，用於標識某個透過超文字傳輸協議代理或負載均衡連線到某個網頁伺服器的客戶端的原始網際網路地址 XForwardedFor client1 proxy1 proxy2 XForwardedFor 1297813866 1297864103 XForwardedHostThe Apache Software Foundation mod_proxy Apache HTTP Server Version 22 一個事實標準 ，用於識別客戶端原本發出的 Host 請求頭部因為反向代理往往修改這個頭部。 XForwardedHost zhwikipediaorg80 XForwardedHost zhwikipediaorg XForwardedProtoDave Steinberg 20070410 一個事實標準，用於標識某個超文字傳輸協議請求最初所使用的協議。在反向代理 負載均衡 上，即使最初發往該反向代理的請求型別是安全的超文字傳輸協議（HTTPS），該反向代理也仍然可能會使用超文字傳輸協議（HTTP）來與網頁伺服器通訊。谷歌客戶端在與谷歌伺服器通訊時會使用該協議頭的一個替代形式（XProxyUserIp）。 XForwardedProto https FrontEndHttpsHelping to Secure Communication Client to FrontEnd Server 20060727 被微軟的伺服器和負載均衡器所使用的非標準頭部欄位。 FrontEndHttps on XHttpMethodOverrideOpenSocial Core API Server Specification 251 請求某個網頁應用程式使用該協議頭欄位中指定的方法（一般是 PUT 或 DELETE）來覆蓋掉在請求中所指定的方法（一般是 POST）。當某個瀏覽器或防火牆阻止直接傳送 PUT 或 DELETE 方法時（注意，這可能是因為軟體中的某個漏洞，因而需要修復，也可能是因為某個配置選項就是如此要求的，因而不應當設法繞過），可使用這種方式。 XHTTPMethodOverride DELETE XATTDeviceIdATT Device ID 使伺服器更容易解讀 ATT 裝置 UserAgent 欄位中常見的裝置型號、韌體資訊。 XAttDeviceid GTP7320P7320XXLPG XWapProfileWAP Profile 連結到網際網路上的一個 XML 檔案，其完整、仔細地描述了正在連線的裝置。右側以為 ATT Samsung Galaxy S2 提供的 XML 檔案為例。 xwapprofile httpwapsamsungmobilecomuaprofSGHI777xml ProxyConnectionThe ProxyConnection header is a mistake in how some web browsers use HTTP 該欄位源於早期超文字傳輸協議版本實現中的錯誤。與標準的連線（Connection）欄位的功能完全相同。 ProxyConnection keepalive XCsrfTokenSAP CrossSite Request Forgery Protection 用於防止 跨站請求偽造。 輔助用的頭部有 XCSRFTokenDjango Cross Site Request Forgery protection 或 XXSRFTOKENAngular Cross Site Request Forgery XSRF Protection 。 XCsrfToken i8XNjC4b8KVok4uw5RftR38Wgp2BFwql 回應欄位 欄位名 說明 例子 狀態 AccessControlAllowOrigin 指定哪些網站可參與到跨來源資源共享過程中 AccessControlAllowOrigin 臨時 AcceptPatchRFC 5789 指定伺服器支援的檔案格式型別。 AcceptPatch textexamplecharsetutf8 常設 AcceptRanges 這個伺服器支援哪些種類的部分內容範圍 AcceptRanges bytes 常設 Age 這個物件在代理快取中存在的時間，以秒為單位 Age 12 常設 Allow 對於特定資源有效的動作。針對 HTTP405 這一錯誤程式碼而使用 Allow GET HEAD 常設 CacheControl 向從伺服器直到客戶端在內的所有快取機制告知，它們是否可以快取這個物件。其單位為秒 CacheControl maxage3600 常設 Connection 針對該連線所預期的選項 Hypertext Transfer Protocol HTTP11 Message Syntax and Routing Connection close 常設 ContentDispositionRFC 6266 一個可以讓客戶端下載檔案並建議檔名的頭部。檔名需要用雙引號包裹。 ContentDisposition attachment filenamefnameext 常設 ContentEncoding 在資料上使用的編碼型別。參考 超文字傳輸協議壓縮 。 ContentEncoding gzip 常設 ContentLanguage 內容所使用的語言 httpstoolsietforghtmlrfc7231section3132 123cha ContentLanguage da 常設 ContentLength 回應訊息體的長度，以 位元組 （8 位為一位元組）為單位 ContentLength 348 常設 ContentLocation 所返回的資料的一個候選位置 ContentLocation indexhtm 常設 ContentMD5 回應內容的二進位制 MD5 雜湊，以 Base64 方式編碼 ContentMD5 Q2hlY2sgSW50ZWdyaXR5IQ 過時的 ContentRange 這條部分訊息是屬於某條完整訊息的哪個部分 ContentRange bytes 210104702147022 常設 ContentType 當前內容的 MIME 型別 ContentType texthtml charsetutf8 常設 Date 此條訊息被髮送時的日期和時間（按照 RFC 7231 中定義的 超文字傳輸協議日期 格式來表示） Date Tue 15 Nov 1994 081231 GMT 常設 ETag 對於某個資源的某個特定版本的一個識別符號，通常是一個 訊息雜湊 ETag 737060cd8c284d8af7ad3082f209582d 常設 Expires 指定一個日期 時間，超過該時間則認為此回應已經過期 Expires Thu 01 Dec 1994 160000 GMT 常設：標準 LastModified 所請求的物件的最後修改日期（按照 RFC 7231 中定義的 超文字傳輸協議日期 格式來表示） LastModified Tue 15 Nov 1994 124526 GMT 常設 Link 用來表達與另一個資源之間的型別關係，此處所說的型別關係是在 RFC 5988 中定義的 Link feed relalternateIndicate the canonical version of a URL by responding with the Link relcanonical HTTP header Retrieved 20120209 常設 Location 用來 進行重定向，或者在建立了某個新資源時使用。 Location httpwwww3orgpubWWWPeoplehtml 常設 P3P 用於支援設定 P3P 策略，標準格式為 P3PCPyour_compact_policy。然而 P3P 規範並不成功，W3C P3P Work Suspended 大部分現代瀏覽器沒有完整實現該功能，而大量網站也將該值設為假值，從而足以用來欺騙瀏覽器的 P3P 外掛功能並授權給第三方 Cookies。 P3P CPThis is not a P3P policy See httpwwwgooglecomsupportaccountsbinanswerpyhlenanswer151657 for more info 常設 Pragma 與具體的實現相關，這些欄位可能在請求 回應鏈中的任何時候產生多種效果。 Pragma nocache 常設 ProxyAuthenticate 要求在訪問代理時提供身份認證資訊。 ProxyAuthenticate Basic 常設 PublicKeyPinsPublic Key Pinning Extension for HTTP 用於緩解中間人攻擊，宣告網站認證使用的傳輸層安全協議證書的雜湊值 PublicKeyPins maxage2592000 pinsha256E9CZ9INDbd2eRQozYqqbQ2yXLVKB9xcprMF44U1g 常設 Refresh 用於設定可定時的重定向跳轉。右邊例子設定了 5 秒後跳轉至 httpwwww3orgpubWWWPeoplehtml。 Refresh 5 urlhttpwwww3orgpubWWWPeoplehtml 專利並非標準 Netscape 實現的擴充套件，但大部分網頁瀏覽器也支援。 RetryAfter 如果某個實體臨時不可用，則，此協議頭用來告知客戶端日後重試。其值可以是一個特定的時間段（以秒為單位）或一個超文字傳輸協議日期。 Hypertext Transfer Protocol HTTP11 Semantics and Content Example 1：RetryAfter 120 Example 2：RetryAfter Fri 07 Nov 2014 235959 GMT 常設 Server 伺服器的名字 Server Apache241 Unix 常設 SetCookie HTTP cookie SetCookie UserIDJohnDoe MaxAge3600 Version1 常設：標準 Status 通用閘道器介面 協議頭欄位，用來說明當前這個超文字傳輸協議回應的 狀態 。普通的超文字傳輸協議回應，會使用單獨的 狀態行（StatusLine）作為替代，這一點是在 RFC 7230 中定義的。 Hypertext Transfer Protocol HTTP11 Message Syntax and Routing Status 200 OK Not listed as a registered field name StrictTransportSecurity HTTP 嚴格傳輸安全這一頭部告知客戶端快取這一強制 HTTPS 策略的時間，以及這一策略是否適用於其子域名。 StrictTransportSecurity maxage16070400 includeSubDomains 常設：標準 Trailer 這個頭部數值指示了在這一系列頭部資訊由由分塊傳輸編碼編碼。 Trailer MaxForwards 常設 TransferEncoding 用來將實體安全地傳輸給使用者的編碼形式。當前定義的方法包括：分塊（chunked）、compress、deflate、gzip 和 identity。 TransferEncoding chunked 常設 Upgrade 要求客戶端升級到另一個協議。 Upgrade HTTP20 SHTTP13 IRC69 RTAx11 常設 Vary 告知下游的代理伺服器，應當如何對未來的請求協議頭進行匹配，以決定是否可使用已快取的回應內容而不是重新從原始伺服器請求新的內容。 Vary 常設 Via 告知代理伺服器的客戶端，當前回應是透過什麼途徑傳送的。 Via 10 fred 11 examplecom Apache11 常設 Warning 一般性的警告，告知在實體內容體中可能存在錯誤。 Warning 199 Miscellaneous warning 常設 WWWAuthenticate 表明在請求獲取這個實體時應當使用的認證模式。 WWWAuthenticate Basic 常設 XFrameOptionsHTTP Header Field XFrameOptions 點選劫持保護： deny：該頁面不允許在 frame 中展示，即使是同域名內。 sameorigin：該頁面允許同域名內在 frame 中展示。 allowfrom uri：該頁面允許在指定 uri 的 frame 中展示。 allowall：允許任意位置的 frame 顯示，非標準值。 XFrameOptions deny 過時的 Content Security Policy Level 2 常見的非標準回應欄位 欄位名 說明 示例 XXSSProtectionEric Lawrence 20080702 跨站指令碼攻擊 （XSS）過濾器 XXSSProtection 1 modeblock ContentSecurityPolicy XContentSecurityPolicy XWebKitCSPContent Security Policy 內容安全策略定義。 XWebKitCSP defaultsrcself XContentTypeOptionsEric Lawrence 20080903 唯一允許的數值為 nosniff，防止 Internet Explorer 對檔案進行 MIME 型別嗅探。這也對 Google Chrome 下載擴充套件時適用。Hosting Google Chrome Extensions Google Code XContentTypeOptions nosniff XPoweredByWhy does ASP 表明用於支援當前網頁應用程式的技術（例如：PHP）（版本號細節通常放置在 XRuntime 或 XVersion 中） XPoweredBy PHP540 XUACompatibleDefining Document Compatibility Specifying Document Compatibility Modes 20110401 推薦指定的渲染引擎（通常是向後相容模式）來顯示內容。也用於啟用 Internet Explorer 中的 Chrome Frame。 XUACompatible IEEmulateIE7 XUACompatible IEedge XUACompatible Chrome1 XContentDurationConfiguring servers for Ogg media 20140526 指出音影片的長度，單位為秒。只受 Gecko 核心瀏覽器支援。 XContentDuration 42666 FeaturePolicy 管控特定應用程式介面 FeaturePolicy vibrate none geolocation none PermissionsPolicy 管控特定應用程式介面為 W3C 標準 替代 FeaturePolicy PermissionsPolicy microphonegeolocationcamera XPermittedCrossDomainPolicies Flash 的跨網站攻擊防禦 XPermittedCrossDomainPolicies none ReferrerPolicy 保護資訊洩漏 ReferrerPolicy originwhencrossorigin ExpectCT 防止欺騙 SSL，單位為秒 ExpectCT maxage31536000 enforce 參見 cookie 參考文獻 外部連結 Headers Permanent Message Header Field Names RFC 6638 廢除給非標準引數加上字首 X RFC 7230 Hypertext Transfer Protocol HTTP11 Message Syntax and Routing RFC 7231 Hypertext Transfer Protocol HTTP11 Semantics and Content RFC 7232 Hypertext Transfer Protocol HTTP11 Conditional Requests RFC 7233 Hypertext Transfer Protocol HTTP11 Range Requests RFC 7234 Hypertext Transfer Protocol HTTP11 Caching RFC 7235 Hypertext Transfer Protocol HTTP11 Authentication RFC 2965 IETF HTTP State Management Mechanism RFC HTTP11 headers from a web server point of view HTTP Request Header Viewer HTTP Response Header Viewer Retrieves the HTTP response headers of any domain Internet Explorer and Custom HTTP Headers EricLaws IEInternals Site Home MSDN Blogs crwlrnet HTTP Header index HTTP Header with Privacyinfo Display your HTTP request and response headers CategoryHTTP