保持活动

Keep-Alive 通用头部允许发送方提示如何使用连接来设置超时和最大请求数。

注意:Connection 标头设置为“keep-alive”才能使此标头生效。

警告:连接特定的标头字段,如 ConnectionKeep-AliveHTTP/2HTTP/3 中是被禁止的。Chrome 和 Firefox 在 HTTP/2 响应中会忽略它们,但 Safari 符合 HTTP/2 规范要求,不会加载任何包含它们的响应。

标头类型 请求标头响应标头
禁止的标头名称

语法

http
Keep-Alive: parameters

指令

参数

逗号分隔的参数列表,每个参数由一个标识符和一个值组成,用等号 ('=') 分隔。以下标识符是可能的

  • timeout: 一个整数,表示主机允许空闲连接保持打开状态的时间(以秒为单位),然后关闭连接。如果主机没有发送或接收任何数据,则连接处于空闲状态。主机可以将空闲连接保持打开状态的时间超过 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=1000
Last-Modified: Mon, 25 Jul 2016 04:32:39 GMT
Server: Apache

(body)

规范

规范
HTTP/1.1
# compatibility.with.http.1.0.persistent.connections

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅