Connection header

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

HTTP Connection 頭控制著當前事務完成後網路連線是否保持開放。如果傳送的值是 keep-alive,則連線是持久的且不會關閉,允許後續請求在同一連線上傳送到同一伺服器。

警告:HTTP/2HTTP/3 中禁止使用特定於連線的頭欄位,例如 ConnectionKeep-Alive。Chrome 和 Firefox 在 HTTP/2 響應中會忽略它們,但 Safari 遵循 HTTP/2 規範要求,不會載入任何包含這些頭的響應。

所有逐跳頭(hop-by-hop headers),包括標準逐跳頭(Keep-AliveTransfer-EncodingTEConnectionTrailerUpgradeProxy-AuthorizationProxy-Authenticate)都必須在 Connection 頭中列出,這樣第一個代理就知道它必須處理這些頭而不能進一步轉發。

Connection 的預設值在 HTTP/1.0 和 HTTP/1.1 之間發生了變化。因此,為了確保向後相容性,瀏覽器通常會明確傳送 Connection: keep-alive,儘管這是 HTTP/1.1 中的預設值。

頭型別 請求標頭, 響應標頭
禁止請求頭

語法

http
Connection: keep-alive
Connection: close

指令

close

表示客戶端或伺服器希望關閉連線。這是 HTTP/1.0 請求的預設行為。

任何以逗號分隔的 HTTP 頭列表(通常僅為 keep-alive

表示客戶端希望保持連線開放。保持連線開放是 HTTP/1.1 請求的預設行為。頭列表是要由中間的第一個非透明代理或快取刪除的頭的名稱:這些頭定義了傳送方和第一個實體之間的連線,而不是目標節點。

規範

規範
HTTP 語義
# field.connection

瀏覽器相容性

另見