RFC2616 errata: HTTP-Version should be case-sensitive

RFC 2616 BNF defaults to case-insensitive for string literals:

    "literal"
       Quotation marks surround literal text. Unless stated otherwise,
       the text is case-insensitive.

but the HTTP version string is defined as

    The version of an HTTP message is indicated by an HTTP-Version field
    in the first line of the message.

        HTTP-Version   = "HTTP" "/" 1*DIGIT "." 1*DIGIT

    Note that the major and minor numbers MUST be treated as separate
    integers and that each MAY be incremented higher than a single digit.
    Thus, HTTP/2.4 is a lower version than HTTP/2.13, which in turn is
    lower than HTTP/12.3. Leading zeros MUST be ignored by recipients and
    MUST NOT be sent.

Personally, I never had any intention that the "HTTP" be case-insensitive,
and I am not aware of any clients that send it lowercase, nor any server
that would accept it as lowercase.  Doing so is a waste of cycles.  So,
I'd like that paragraph above to say:

    The version of an HTTP message is indicated by an HTTP-Version field
    in the first line of the message.  HTTP-Version is case-sensitive.

Servers would still be allowed to process it as case-insensitive under
the general robustness principle, but clients are no longer given the
excuse of "But it says in the standard ...".


Cheers,

Roy T. Fielding, Chief Scientist, Day Software
                  (roy.fielding@day.com) <http://www.day.com/>

                  Co-founder, The Apache Software Foundation
                  (fielding@apache.org)  <http://www.apache.org/>

Received on Monday, 16 September 2002 20:13:24 UTC