HTTP/1.0 Persistent Connections

From NovaOrdis Knowledge Base
Revision as of 23:30, 8 January 2017 by Ovidiu (talk | contribs) (→‎Overview)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Internal

Overview

HTTP/1.0 clients can request a persistent connection by using "Connection: Keep-Alive" header. Early versions of the HTTP/1.1 specification also describe this mechanism.

It is the client that initially requests the connection to be kept alive. The persistent connection is initiated by specifying a "Keep-Alive" value for the "Connection" request header:

GET ... HTTP/1.0
Host: ...
Connection: Keep-Alive

The server may or may not support persistent connections. If the server does support them, it will confirm that by including with the response a "Connection: Keep-Alive" response header. httpd also includes a "Keep-Alive" header specifying the persistent connection attributes: the number of seconds it will be kept alive while idle and the maximum number of requests that will be allowed on a persistent connection.

200 OK
Content-Length: ...
Connection: Keep-Alive
Keep-Alive: timeout=3600, max=100

Once both the client and the server have agreed on using persistent connections, they will keep the underlying TCP/IP connection open, and subsequent requests from that client will be sent over the persistent connection.