Internet Draft http-versions-00

Just came across the draft, while seeking something else.

In case nobody has mentioned this already, in
Section 2.3, Paragraph 4, Line 3, (on Page 4)
>    whose major version is equal to the one received in the request.  An

The word "equal" should be replaced by "no greater than."  The
words, "highest version," earlier in the sentence, guarantee that
this will be equal, when this is possible.  However, the current
wording leaves no option available to a server which is not even
conditionally compliant with any version whose major version is
equal to the one received in the request.

Examples may be useful:

Consider a hypothetical server conditionally compliant with
(hypothetical) HTTP versions 0.9, 1.0 to 1.3, and 2.0 to 2.1,
receiving a request from a client that specifies an HTTP version
(so, not 0.9).

  Request version             Version named in response
    1.x (1.0, 1.3, 1.6, etc.)         1.3
    2.x (2.0, 2.1, 2.2, etc.)         2.1
    3.x                               2.1

If the 2.1 server receives a 3.x request, it should also return a
status 505 (or the version 2 equivalent).  The client can then be
expected to note the response and repeat its request using a 2.x
(or 1.x) protocol.

Clients should use the same approach, with appropriate alterations.

As a side note, the ability to support 1.0 should be required in
all future compliant servers and clients, until version 1.x is long
obsolete (at which point some higher minimum could replace it).
This would ensure that the protocol version negotiation will end
somewhere (consider a negotiation between a client and server that
have no common version they both comply with, because the extra
code was trimmed out to minimize the footprint).

    -- Cary Timar, Mountain Lake Software, Toronto, Canada
       cctimar @ mtnlake.com

Received on Friday, 28 February 1997 10:37:45 UTC