每個 HTTP 請求都有一組必須和可選的標頭。本篇文章旨在列出所有這些標頭並對它們進行描述。
- 標準標頭
- A-IM
- Accept
- Accept-Charset
- Accept-Encoding
- Accept-Language
- Accept-Datetime
- Access-Control-Request-Method
- Access-Control-Request-Headers
- Authorization
- Cache-Control
- Connection
- Content-Length
- Content-Type
- Cookie
- Date
- Expect
- Forwarded
- From
- Host
- If-Match
- If-Modified-Since
- If-None-Match
- If-Range
- If-Unmodified-Since
- Max-Forwards
- Origin
- Pragma
- Proxy-Authorization
- Range
- Referer
- TE
- User-Agent
- Upgrade
- Via
- Warning
- 非標準標頭
標準標頭
A-IM
A-IM: feed
在響應中允許操作實例。在 RFC 3229 中定義。
Accept
Accept: application/json
可接受的媒體類型/類型。
Accept-Charset
Accept-Charset: utf-8
可接受的字符集。
Accept-Encoding
Accept-Encoding: gzip, deflate
可接受的編碼列表。
Accept-Language
Accept-Language: en-US
可接受的語言列表。
Accept-Datetime
Accept-Datetime: Thu, 31 May 2007 20:35:00 GMT
請求過去日期之前的資源版本。
Access-Control-Request-Method
Access-Control-Request-Method: GET
在 CORS 請求中使用。
Access-Control-Request-Headers
Access-Control-Request-Headers: origin, x-requested-with, accept
在 CORS 請求中使用。
Authorization
Authorization: Basic 34i3j4iom2323==
HTTP 基本驗證憑證。
Cache-Control
Cache-Control: no-cache
設置快取規則。
Connection
Connection: keep-alive
控制當前連線的選項。接受 keep-alive
和 close
。在 HTTP/2 中已棄用。
Content-Length
Content-Length: 348
請求主體的字節長度。
Content-Type
Content-Type: application/x-www-form-urlencoded
請求主體的內容類型(用於 POST 和 PUT 請求)。
Cookie
Cookie: name=value
Date
Date: Tue, 15 Nov 1994 08:12:31 GMT
發送請求的日期和時間。
Expect
Expect: 100-continue
在發送大型請求主體時使用。我們期望服務器如果能處理該請求,則返回 100 Continue
的 HTTP 狀態,如果不能處理則返回 417 Expectation Failed
。
Forwarded
Forwarded: for=192.0.2.60; proto=http; by=203.0.113.43
通過 HTTP 代理將客戶端連接到網頁服務器的原始信息。僅供測試目的使用,因為它會透露涉及隱私的敏感信息。
From
From: [[email protected]](/cdn-cgi/l/email-protection)
發送請求的用戶的電子郵件地址。例如,可以用於指示機器人的聯繫電子郵件。
Host
Host: flaviocopes.com
服務器的域名(用於虛擬主機服務器的確定)和服務器監聽的 TCP 端口號。如果省略端口,則默認為 80。這是一個必備的 HTTP 請求標頭。
If-Match
If-Match: "737060cd8c284d8582d"
根據給定的一個(或多個)ETag
,如果當前資源與這些 ETag
之一匹配,則只發送回應。主要用於 PUT 方法只有在自用戶最後一次更新以來未修改資源時才更新資源。
If-Modified-Since
If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
如果內容自從該日期以來沒有更改,則允許返回 304 Not Modified
響應標頭。
If-None-Match
If-None-Match: "737060cd882f209582d"
如果內容未更改,可以返回 304 Not Modified
響應標頭。與 If-Match
相反。
If-Range
If-Range: "737060cd8c9582d"
用於斷點續傳,如果條件匹配(ETag 或日期)則返回部分,否則返回完成的資源。更多信息
If-Unmodified-Since
If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT
僅在實體自指定時間以來未修改時發送響應。
Max-Forwards
Max-Forwards: 10
限制消息可以通過代理或網關轉發的次數。
Origin
Origin: http://mydomain.com
發送當前域以執行 CORS 請求,用於 OPTIONS HTTP 請求(要求服務器返回 Access-Control- 響應標頭)。
Pragma
Pragma: no-cache
為了與 HTTP/1.0 快取的向後兼容性。
Proxy-Authorization
Proxy-Authorization: Basic 2323jiojioIJOIOJIJ==
用於連接到代理的授權憑證。
Range
Range: bytes=500-999
只請求資源的特定部分。
Referer
Referer: https://flaviocopes.com
從中跟踪到當前請求頁面的上一個網頁的地址。
TE
TE: trailers, deflate
指定客戶端可以接受的編碼。接受的值:compress
、deflate
、gzip
、trailers
。在 HTTP/2 中只支持 trailers
。
User-Agent
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36
識別用戶端的字符串。
Upgrade
Upgrade: h2c, HTTPS/1.3, IRC/6.9, RTA/x11, websocket
要求服務器升級到另一個協議。在 HTTP/2 中已棄用。
Via
Via: 1.0 fred, 1.1 example.com (Apache/1.1)
通知服務器通過哪些代理發送請求。
Warning
Warning: 199 Miscellaneous warning
關於消息狀態可能存在問題的一般警告。接受一系列特殊的值。
非標準標頭
還有一些廣泛使用的非標準標頭,包括:
Dnt
DNT: 1
如果啟用,請求服務器不要追蹤用戶。
X-Requested-With
X-Requested-With: XMLHttpRequest
標識 XHR 請求。
X-CSRF-Token
X-CSRF-Token: <TOKEN>
用於防止 CSRF。