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