Persistent Connections
A major feature required in HTTP 1.1 is persistent connections. Persistent connections keep the network connection open for multiple transactions between the client and server to occur. Under both HTTP 1.0 and 1.1, the Connection header controls whether or not the network connection stays open; however, its use varies according to the version of HTTP.[3]
The Connection
header indicates whether the network
connection will be maintained after the current transaction finishes.
The close parameter signifies that either the
client or server wishes to end the connection (i.e., this is the last
transaction). The keep-alive parameter signifies
that the client wishes to keep the connection open. Under HTTP 1.0,
the default is to close connections after each transaction, so the
client must use the following header in order to maintain the
connection for an additional request:
Connection: Keep-Alive
Under HTTP 1.1, the default is to keep connections open until they
are explicitly closed. The keep-alive option is
therefore unnecessary under HTTP 1.1; however, clients must be sure
to include the following header in their last transaction:
Connection: Close
or the connection will remain open until the server times out the connection. How long it takes the server to time out depends on the server’s configuration; but needless to say, it’s more considerate to close the connection explicitly.
[3] Persistent connections are not in the HTTP 1.0 specification, but it was common practice ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access