Subject: Re: Keep-alive header in RFC2616 [#158]

From: Mark Nottingham <[email-masked]>
Date: Wed, 8 Apr 2009 16:23:28 +1000

Now #158.

FWIW, Squid does two things with Proxy-Connection;
1) strips it when it forwards the request
2) if it's present, uses it in preference to the Connection header for  
looking up 'keep-alive' and 'close'

I.e., it's deprecated, and has been for quite some time (this has been  
discussed for nearly 10 years, and the substance of the discussion  
hasn't changed.

My .02:

* it isn't necessary to do much about keep-alive, because the  
important aspect is
   Connection: Keep-Alive
The actual Keep-Alive header is just a vestigal artifact.

* proxy-connection is deprecated and should not be sent by clients.

On 09/03/2009, at 5:25 PM, Adrien de Croy wrote:

>
> apologies in advance if this is already in the issue tracker - I did  
> look but didn't find it.
>
> The Keep-alive header is mentioned in 2 places only in RFC2616.
>
> In section 13.5.1 it is listed as a hop-by-hop header.
>
> In section 8.1.3 it is referred to in the context of persistent  
> connections with HTTP/1.0 clients.
>
> By existing in section 13.5.1 it would imply that this is an HTTP/ 
> 1.1 header, which appears is not the case.
>
> Perhaps of more importance is the Proxy-Connection header, which is  
> still sent by IE, Firefox and Chrome (and many others), even though  
> it is not an HTTP/1.1 or HTTP/1.0 header at all!.
>
> There is no reference to this header in RFC2616, its widespread use  
> however makes it important.
>
> I would propose:
>
> 1. Modify text for 13.5.1 to only refer to HTTP/1.1 headers, or make  
> it clear which headers are HTTP/1.0, or being referred to for other  
> (e.g. compatibility) reasons.
>
> 2. Perhaps in the section on persistent connections with proxies  
> (8.1.3) make some mention of Proxy-Connection and how to deal with  
> it.  I note there has been discussion on this list about dealing  
> with the header (so why it persists is perplexing).
>
> 3. Put in a section on deprecated headers.  If the headers are  
> listed there, then a search on the header name will find them in  
> that section, and people can stop perpetuating these problems.
>
>
> Is the recommended method to deal with Proxy-Connection simply to  
> treat it as a backup for a connection tag (e.g. if there is no  
> Connection tag look for a Proxy-Connection tag), but never send one?
> I'm wondering how some proxies deal with lack of a Proxy-connection  
> tag, has there been any research done on this?

--
Mark Nottingham     http://www.mnot.net/