The Connection general header controls whether the network connection stays open after the current transaction finishes. If the value sent is keep-alive, the connection is persistent and not closed, allowing for subsequent requests to the same server to be done.

Warning: Connection-specific header fields such as Connection and Keep-Alive are prohibited in HTTP/2 and HTTP/3. Chrome and Firefox ignore them in HTTP/2 responses, but Safari conforms to the HTTP/2 spec requirements and does not load any response that contains them.

All hop-by-hop headers used by the message - including standard hop-by-hop headers (Keep-Alive, Transfer-Encoding, TE, Connection, Trailer, Upgrade, Proxy-Authorization and Proxy-Authenticate) - must be listed in the Connection header, so that the first proxy knows it has to consume them and not forward them further.

Header type Request header, Response header
Forbidden header name yes


Connection: keep-alive
Connection: close



Indicates that either the client or the server would like to close the connection. This is the default on HTTP/1.0 requests.

any comma-separated list of HTTP headers [Usually keep-alive only]

Indicates that the client would like to keep the connection open. Keeping a connection open is the default on HTTP/1.1 requests. The list of headers are the name of the header to be removed by the first non-transparent proxy or cache in-between: these headers define the connection between the emitter and the first entity, not the destination node.


HTTP Semantics
# field.connection

Browser compatibility

BCD tables only load in the browser