• Connection general header controls whether or not the network connection stays open after the current transaction finishes
  • Keep-Alive general header allows the sender to hint about how the connection may be used to set a timeout and a maximum amount of requests

Connection and Keep-Alive are ignored in 2; connection management is handled by other mechanisms there

Connection Header

Connection: keep-alive
Connection: close

Keep-Alive Header

The Connection header needs to be set to “keep-alive” for this header to have any meaning
Keep-Alive: parameters

parameters is a comma-separated list of parameters, each consisting of an identifier and a value separated by the equal sign (’=’). The following identifiers are possible:

  • timeout: indicating the minimum amount of time an idle connection has to be kept opened (in seconds). Note that timeouts longer than the TCP timeout may be ignored if no keep-alive TCP message is set at the transport level.
  • max: indicating the maximum number of requests that can be sent on this connection before closing it. Unless 0, this value is ignored for non-pipelined connections as another request will be sent in the next response. An HTTP pipeline can use it to limit the pipelining.

Example HTTP Response

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)