Re: HTTP version numbers returned by proxies

On Jun 13, 2007, at 5:58 PM, Travis Snoozy wrote:

>
> On Thu, 14 Jun 2007 12:48:22 +1200, Adrien de Croy <adrien@qbik.com>
> wrote:
>
> <snip>
>> However, a proxy server that always responds with its own supported
>> version number will break some of these mechanisms.
> <snip>
>
> That's why it's not allowed. Section 3.1:
>
>   Proxy and gateway applications need to be careful when forwarding
>   messages in protocol versions different from that of the  
> application.
>   Since the protocol version indicates the protocol capability of the
>   sender, a proxy/gateway MUST NOT send a message with a version
>   indicator which is greater than its actual version. If a higher
>   version request is received, the proxy/gateway MUST either downgrade
>   the request version, or respond with an error, or switch to tunnel
>   behavior.
>
> So, if you access an HTTP/1.1 server through a HTTP/1.0 proxy,  
> sorry --
> you're stuck with HTTP/1.0.

No, the paragraph has nothing whatsoever to do with that, and
certainly doesn't require a least common denominator.

An HTTP sender always sends its own version number, even when it is
forwarding a message that originated in a different minor version.
[The only exceptions are for working around specific browser bugs.]
All HTTP/1.0 messages are HTTP/1.1 messages too.  Later versions can
also upgrade messages to their own supported protocol(s), if they
so desire -- the paragraph merely states that they cannot forward
messages with a higher version than they understand.

The versioning mechanisms in the specification are all based on the
possibility that there is a 1.0 sender in the chain -- they should
be read with that in mind.  Requiring message versions to be
downgraded for compatible protocols would have negated the need
for those mechanisms in the first place (at considerable cost).

....Roy

Received on Thursday, 14 June 2007 02:53:02 UTC