每個 HTTP 請求都有一組必須和可選的標頭。本篇文章旨在列出所有這些標頭並對它們進行描述。

標準標頭

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-aliveclose。在 HTTP/2 中已棄用。

Content-Length

Content-Length: 348

請求主體的字節長度。

Content-Type

Content-Type: application/x-www-form-urlencoded

請求主體的內容類型(用於 POST 和 PUT 請求)。

Cookie: name=value

更多關於 Cookie

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

指定客戶端可以接受的編碼。接受的值:compressdeflategziptrailers。在 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