Connection header
HTTP Connection
头控制着当前事务完成后网络连接是否保持开放。如果发送的值是 keep-alive
,则连接是持久的且不会关闭,允许后续请求在同一连接上发送到同一服务器。
警告: 在 HTTP/2 和 HTTP/3 中禁止使用特定于连接的头字段,例如 Connection
和 Keep-Alive
。Chrome 和 Firefox 在 HTTP/2 响应中会忽略它们,但 Safari 遵循 HTTP/2 规范要求,不会加载任何包含这些头的响应。
所有逐跳头(hop-by-hop headers),包括标准逐跳头(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 |
浏览器兼容性
加载中…