Keep-Alive 頭

Baseline 已廣泛支援

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

HTTP Keep-Alive 請求響應頭允許傳送方提示連線在超時和最大請求量方面的使用方式。

注意:要使 Keep-Alive 生效,訊息還必須包含 Connection: keep-alive 頭。

HTTP/1.0 預設在每次請求/響應互動後關閉連線,因此 HTTP/1.0 中的持久連線必須明確協商。一些客戶端和伺服器可能希望與以前的持久連線方法相容,可以透過 Connection: keep-alive 請求頭來實現。可以使用 Keep-Alive 頭請求連線的附加引數。

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

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

語法

http
Keep-Alive: <parameters>

指令

<引數>

逗號分隔的引數列表,每個引數由一個識別符號和一個等號(=)分隔的值組成。可能的識別符號如下:

超時

一個整數,表示主機在關閉空閒連線之前允許其保持開啟狀態的秒數。如果主機沒有傳送或接收資料,則連線是空閒的。主機可以將空閒連線保持開啟狀態超過 timeout 秒,但主機應嘗試將連線保持至少 timeout 秒。

max

一個整數,表示在關閉連線之前可以傳送的最大請求數。除非為 0,否則對於非管道連線,此值將被忽略,因為下一個響應中將傳送另一個請求。HTTP 管道可以使用它來限制管道化。

示例

包含 Keep-Alive 頭的響應

http
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
Date: Thu, 11 Aug 2016 15:23:13 GMT
Keep-Alive: timeout=5, max=200
Last-Modified: Mon, 25 Jul 2016 04:32:39 GMT
Server: Apache

(body)

規範

規範
HTTP/1.1
# 相容 http 1.0 持久連線

瀏覽器相容性

另見