- From: Dave Kristol <dmk@allegra.att.com>
- Date: Thu, 18 Apr 96 16:35:11 EDT
- To: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
The editorial group that is working on the HTTP/1.1 draft is strongly
interested in making persistent connections the default behavior for
HTTP/1.1 agents. The goal is to encourage widespread use of persistent
connections as quickly as possible.
IF YOU DISAGREE, please address your objections to the http-wg mailing
list as quickly as possible. I review the proposal below.
Dave Kristol
=============
The presence of an HTTP/1.1 protocol version in the request and
response is enough to tell
a) a server that the client expects to hold the connection open
b) a client that the server will try to hold the connection open.
If all the proxies between a user agent and an origin server understand
HTTP/1.1, the entire connection can be held open.
An HTTP/1.1 agent that does *not* want to keep a connection open sends a
Connection: 1 [that's a change: digit one, meaning "just one
connection"] request or response header.
So the rules would be:
(HTTP/1.1) Server:
For an HTTP/1.1 request, keep the connection open, unless there's a
Connection: 1 header. If the server chooses to close the
connection, it should send a Connection: 1 response header.
For an HTTP/1.0 request, a server could implement the existing,
sometimes-honored Connection: keepalive convention.
Client:
An HTTP/1.0 client would, of course, do what it does now, which may
include using the existing Connection: keepalive convention.
An HTTP/1.1 client expects a connection to remain open, but would
decide to keep it open based on whether the response from a server
contains a Connection: 1 header. If the client doesn't want a
connection to remain open, it should send a Connection: 1 request
header.
If the HTTP/1.1 client receives an HTTP/1.0 response, it expects
the connection to close, unless it receives a Connection: keepalive
response and it honors that convention.
Superficially this proposal may seem complex. However, for the default
case HTTP/1.1 agents need send no extra headers to get/maintain the
preferred kept-alive connection behavior. While Connection: 1 can be
used to advise, it isn't essential to the protocol's functioning
correctly.
Received on Thursday, 18 April 1996 13:46:52 UTC