- From: Dave Kristol <dmk@allegra.att.com>
- Date: Wed, 17 Apr 96 15:45:04 EDT
- To: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
John Franks <john@math.nwu.edu> wrote (yesterday): > Perhaps there could be a "Connection: non-persistant" header. It makes > sense to have the most common situation be the default (requiring no > header) and add a header for the exceptional or at less common behavior. Albert-Lunde@nwu.edu (Albert Lunde) wrote (yesterday): > > [I wrote]: > > All true. And yet, there's always the danger that the connection to > > the client might close unexpectedly, and the client would have to > > recover gracefully. Would adopting my proposal make the situation > > worse? > > It seems like the "worst case" is the same, but the "average case" > for a server that really doesn't want to do persistent connections > is worse. If the client and server have similar "expectations" > I'd think there would be fewer connections closed ungracefully. I like John Franks's idea (but let's spell it "non-persistent :-). So the rules would be: Server: For an HTTP/1.1 request, keep the connection open, unless there's a Connection: non-persistent (or whatever) header. Furthermore, if the server chose to close the connection, it would send a Connection: non-persistent 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 expect a connection to remain open, but would decide based on the first response from a server. If it didn't want a connection to remain open, it would send a Connection: non-persistent request header. If the HTTP/1.1 client receives an HTTP/1.0 response, it expects the connection to close. Otherwise it expects the connection to remain open, unless it receives a Connection: non-persistent response header. 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: non-persistent can be used to advise, it isn't essential to the protocol's functioning correctly. Dave Kristol
Received on Wednesday, 17 April 1996 12:53:17 UTC