連線
Connection 通用頭部控制當前事務完成後網路連線是否保持開啟狀態。如果傳送的值為 keep-alive,則連線保持持久且不關閉,允許隨後對同一伺服器的請求繼續進行。
警告: 在 HTTP/2 和 HTTP/3 中,禁止使用與連線相關的頭部欄位,例如 Connection 和 Keep-Alive。Chrome 和 Firefox 在 HTTP/2 響應中忽略它們,但 Safari 符合 HTTP/2 規範要求,並且不會載入包含它們的任何響應。
訊息使用的所有 逐跳頭部(包括標準逐跳頭部(Keep-Alive、Transfer-Encoding、TE、Connection、Trailer、Upgrade、Proxy-Authorization 和 Proxy-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 |
瀏覽器相容性
BCD 表格僅在瀏覽器中載入