W3C home > Mailing lists > Public > ietf-http-wg@w3.org > July to September 2006

HTTP/1.1 pconns to 1.0 servers

From: Mark Nottingham <mnot@yahoo-inc.com>
Date: Wed, 20 Sep 2006 10:08:20 -0700
Message-Id: <21225AC6-4E9D-45DB-8F59-713DC075BF50@yahoo-inc.com>
To: ietf-http-wg@w3.org

HTTP/1.0 persistent connections are documented in RFC2068. One case  
that's not explicitly covered is when a HTTP/1.1 client sends a  
request to a HTTP/1.0 server without a Connection: keep-alive header.

My reading of 2068, 2616 and 2145 is that the fact that the client  
indicates HTTP/1.1 in the request advertises their support for  
persistent connections, and a HTTP/1.0 server (whether origin or  
proxy) may safely use a Content-Length delimited persistent response.

In my testing, two popular clients that advertise themselves as HTTP/ 
1.1 devices without sending a Connection token -- curl and Apple's  
Safari -- handle persistent connections from HTTP/1.0 servers very well.

However, the widely deployed Squid proxy cache <http://www.squid- 
cache.org/> does not behave in this manner; it requires a Connection:  
keep-alive header (or Proxy-Connection, but that's another  
discussion) in requests in order for them to persist.

In discussion on their mailing list*, it seems they believe that some  
HTTP/1.1 clients may not be able to handle a persistent connection to  
a HTTP/1.0 server that they didn't explicitly "ask for" with a  
Connection token.

What was the intent here? I can't imagine that it was the intent of  
the WG to require HTTP/1.1 clients to send Connection tokens in  
perpetuity for backwards compatibility.

Cheers,

* Starting at <http://www.squid-cache.org/mail-archive/squid-users/ 
200609/0546.html>; responses not yet in the archive.

--
Mark Nottingham
mnot@yahoo-inc.com
Received on Wednesday, 20 September 2006 17:09:29 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 27 April 2012 06:49:46 GMT