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

浏览器兼容性

另见