连接
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 表格仅在浏览器中加载