Received: by taz.hyperreal.com (8.6.12/8.6.5) id SAA15307; Thu, 25 Jul 1996 18:39:11 -0700 Received: from acidik.organic.com by taz.hyperreal.com (8.6.12/8.6.5) with ESMTP id SAA15289; Thu, 25 Jul 1996 18:39:07 -0700 Received: from localhost (akosut@localhost) by acidik.organic.com (8.7.5/8.6.12) with SMTP id SAA06139 for ; Thu, 25 Jul 1996 18:38:44 -0700 (PDT) X-Authentication-Warning: acidik.organic.com: akosut owned process doing -bs Date: Thu, 25 Jul 1996 18:38:43 -0700 (PDT) From: Alexei Kosut To: new-httpd@hyperreal.com Subject: Re: HTTP/1.1 In-Reply-To: <9607251809.aa20167@paris.ics.uci.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-new-httpd@apache.org Precedence: bulk Reply-To: new-httpd@hyperreal.com 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 The Apache HTTP Server http://www.nueva.pvt.k12.ca.us/~akosut/ http://www.apache.org/