httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexei Kosut <ako...@organic.com>
Subject Re: HTTP/1.1
Date Fri, 26 Jul 1996 01:38:43 GMT
On Thu, 25 Jul 1996, Roy T. Fielding wrote:

> No -- a server that calls itself HTTP/1.1 must behave as such-n-such.
> A server that calls itself HTTP/1.0 can do anything it bloody well pleases.
> Naturally, we try to limit ourselves to those things that work.

You're right, of course. What I meant was that it will cause clients
that correctly implement HTTP/1.1 to behave incorrectly.

> 
> > Namely, if I send a request of:
> > 
> > GET / HTTP/1.1
> > Host: hostname
> > 
> > A server tagged as HTTP/1.0 must not open a persistent connection, wheras
> > a server tagged as HTTP/1.1 must. Rather an important distinction, IMO.
>
> Neither is true.  The only requirements are that if the connection is made
> persistent, then an HTTP/1.0 server must send Connection: keep-alive, and
> if the connection is not persistent, an HTTP/1.1 server must send
> Connection: close.  It is therefore safe, as an HTTP/1.0 server, to send
> Connection: keep-alive on a persistent connection and
> Connection: close on a non-persistent connection, regardless of the client's
> version.  After it has been tested and we are an HTTP/1.1 server, we can
> remove the option of sending Connection: keep-alive to an HTTP/1.1 client;
> removing it is slightly more safe in the case of a broken proxy, but no such
> broken proxy currently exists, and even if it did it would be better to
> cause such a system to horribly crash now than to wait until more HTTP/1.1
> systems get deployed.

No, this is untrue. "Keep-Alive" support is not required by the HTTP/1.1
specification. It's in an appendix under "HTTP/1.1 Compatibility". So if I
have a browser that does not support Keep-Alive, doesn't understand it,
and I get back "HTTP/1.0 200 OK", I'm going to assume (assuming that I at
least know what HTTP/1.0 is) that it is a non-persistent connection,
because every HTTP/1.0 response since 1993 has been. So if Apache tries to
open a persistent connection, the browser will hang.

Hopefully, that's clear.

-- Alexei Kosut <akosut@organic.com>            The Apache HTTP Server 
   http://www.nueva.pvt.k12.ca.us/~akosut/      http://www.apache.org/



Mime
View raw message