RFC 7540, "Hypertext Transfer Protocol Version 2 (HTTP/2)", May 2015
Note: This RFC has been obsoleted by RFC 9113Source of RFC: httpbis (app)
Errata ID: 4663
Publication Format(s) : TEXT
Reported By: D. Stussy
Date Reported: 2016-04-12
Rejected by: Alexey Melnikov
Date Rejected: 2017-02-23
Section 8 omits says:
[Note: RFC 3875, section 4.1.16, defines the protocol version as: HTTP-Version = "HTTP" "/" 1*digit "." 1*digit Nothing in RFC 7540 redefines this.]
It should say:
Add paragraph at end of section 8 (before 8.1) - Clarification: HTTP/2 preserves the format of the SERVER_PROTOCOL CGI variable, both in the CGI interface and for any server logging purposes. Where a version string is necessary, it is "HTTP/2.0" as defined by RFC 3875.
Compatibility is required with a prior published RFC, or a specific change superseding the prior RFC need be explicitly stated. This RFC states in its abstract:
"This specification is an alternative to, but does not obsolete, the HTTP/1.1 message syntax. HTTP's existing semantics remain unchanged"
RFC 7540, section 3.5's connection preface string containing "HTTP/2.0" implies that the RFC authors should have forseen this issue, and added a paragraph to section 8 to explicitly state no change in the CGI interface variable SERVER_PROTOCOL was desired. At least one implementation is using a version string of "HTTP/2", not "HTTP/2.0", because of how it is referred in this RFC. ("nghttp2.org" has incorrectly implemented this in its library routines.)
Mark Nottingham: As discussed on HTTPBIS mailing list, this isn't an issue for the HTTP specification.