Re: Question about proxies forwarding HTTP/1.0 responses

On Thu, 27 May 2004, Jamie Lokier wrote:

>    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.
>
> I'm having trouble parsing the highlighted sentence part.  Does "its
> actual version" refer to the version of the message, or the version of
> the proxy/gateway?

The version of the proxy/gateway.

> This has come up while deciding whether a proxy which is
> HTTP/1.1-capable, which receives a HTTP/1.0 response, should indicate
> a HTTP/1.0 version in its response to the client.

It seems to me that this case is not related to the rule you cited
above. In your case, the message has a lower, not higher version
compared to the proxy version, and the above downgrading rule is
specific to requests, not responses. The proxy should indicate its own
version in the response unless it suspects the client cannot handle
proxy's version. Versions are supposed to be a hop-by-hop mechanism.

> To be more precise, I'm fairly sure the proxy should indicate it is
> HTTP/1.1 capable, because that's the capability of the message
> sender, which is the proxy.  (It's not a tunnel).  My question
> really is about the observed behaviour of widely deployed proxies
> over the past few years.  Does anyone know what the behaviour of
> deployed proxies is?

Proxies that claim HTTP/1.1 support usually send HTTP/1.1 messages. A
few proxies have an option to configure the protocol version in the
messages they sent. There are a few proxies that support many HTTP/1.1
features but do not use HTTP/1.1 versions. Squid is one of them.

BTW, RFC 2145 has more specific rules regarding HTTP versions.

HTH,

Alex.

Received on Thursday, 27 May 2004 00:53:21 UTC