Re: squid uses HTTP/1.0 ?

From: Charles Bruneteau <charles.bruneteau.sysicom@dont-contact.us>
Date: Fri, 10 Sep 1999 17:19:38 +0200

Dancer wrote:
>
> Squid _does_ use HTTP/1.0, or at least announces that it does. I _think_
> that's correct per spec, since (although it uses many features from
> HTTP/1.1) it does not use the right set of HTTP/1.1 features to announce
> that protocol to it's peers (by 'peers' in this sentence, I am referring
> to any server that the proxy communicates with, not just siblings and
> parents).
>
> What I _do_ find odd behaviour is that the web-server is not giving out
> Cache-control headers on a 1.0 request. There's no reason for it _not_
> to....HTTP implementations are supposed to ignore header lines that they
> do not understand...therefore, aside from a microscopic bit of extra
> bandwidth, one should be generous and send the header...many
> applications that do not support full HTTP/1.1 compliance support things
> like Cache-control.
>
> After all, many of the features that we take as read as being a part of
> the 1.0 spec aren't in there. They didn't become official until 1.1.
>
> I'd really class this as 'unusual' behaviour on the part of the
> web-server.

You are right; i checked the RFC 2145 ("HTTP Version Numbers") :

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
...
HTTP uses a "<major>.<minor>" numbering scheme to indicate
      versions of the protocol.
...
No vendor or other provider of an HTTP implementation should claim
   any compliance with any IETF HTTP specification unless the
   implementation conditionally complies with the rules in this
   document.
...
It is, and has always been, the explicit intent of the
      HTTP specification that the interpretation of an HTTP message
      header does not change between minor versions of the same major
      version.
It is, and has always been, the explicit intent of the
      HTTP specification that an implementation receiving a message
      header that it does not understand MUST ignore that header. (The
      word "ignore" has a special meaning for proxies; see section 2.1
      below.)
...
A proxy MUST forward an unknown header, unless it is protected by a
   Connection header. A proxy implementing an HTTP version >= 1.1 MUST
   NOT forward unknown headers that are protected by a Connection
   header, as described in section 14.10 of the HTTP/1.1 specification
   [2].
...
An HTTP server SHOULD send a response version equal to the highest
   version for which the server is at least conditionally compliant, and
   whose major version is less than or equal to the one received in the
   request. An HTTP server MUST NOT send a version for which it is not
   at least conditionally compliant. A server MAY send a 505 (HTTP
   Version Not Supported) response if cannot send a response using the
   major version used in the client's request.

An HTTP server MAY send a lower response version, if it is known or
   suspected that the client incorrectly implements the HTTP
   specification, but this should not be the default, and this SHOULD
   NOT be done if the request version is HTTP/1.1 or greater.
...

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

I wonder if Nestcape will consider this as a bug or not... Maybe it has been corrected on a newer release ?

Has anybody tested it ?

Thanks Dancer for your quick and right answer !

Charles
Received on Fri Sep 10 1999 - 09:34:24 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:48:23 MST