Subject: [Editorial Errata Reported] RFC7231 (4224)

From: RFC Errata System <[email-masked]>
Date: Fri, 9 Jan 2015 18:35:40 -0800 (PST)

The following errata report has been submitted for RFC7231,
"Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content".

--------------------------------------
You may review the report below and at:
http://www.rfc-editor.org/errata_search.php?rfc=7231&eid=4224

--------------------------------------
Type: Editorial
Reported by: Bjoern Hoehrmann <[email-masked]>

Section: 4.1 and A. D

Original Text
-------------
     method = token

Corrected Text
--------------
     method = <method, see [RFC7230], Section 3.1.1>

Notes
-----
The HTTP/1.1 RFCs define rules imported across documents using prose rules for all rules except this one. This is an error because RFC7231 does not mean to re-define the production rule.

Instructions:
-------------
This erratum is currently posted as "Reported". If necessary, please
use "Reply All" to discuss whether it should be verified or
rejected. When a decision is reached, the verifying party (IESG)
can log in to change the status and edit the report, if necessary. 

--------------------------------------
RFC7231 (draft-ietf-httpbis-p2-semantics-26)
--------------------------------------
Title               : Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
Publication Date    : June 2014
Author(s)           : R. Fielding, Ed., J. Reschke, Ed.
Category            : PROPOSED STANDARD
Source              : Hypertext Transfer Protocol Bis
Area                : Applications
Stream              : IETF
Verifying Party     : IESG

---

From: Julian Reschke <[email-masked]>
Date: Sat, 10 Jan 2015 10:14:23 +0100

On 2015-01-10 03:35, RFC Errata System wrote:
> ...

The text is as intended; Appendix C has:

> The rules below are defined in [RFC7230]:
>
>   BWS           = <BWS, see [RFC7230], Section 3.2.3>
>   OWS           = <OWS, see [RFC7230], Section 3.2.3>
>   RWS           = <RWS, see [RFC7230], Section 3.2.3>
>   URI-reference = <URI-reference, see [RFC7230], Section 2.7>
>   absolute-URI  = <absolute-URI, see [RFC7230], Section 2.7>
>   comment       = <comment, see [RFC7230], Section 3.2.6>
>   field-name    = <comment, see [RFC7230], Section 3.2>
>   partial-URI   = <partial-URI, see [RFC7230], Section 2.7>
>   quoted-string = <quoted-string, see [RFC7230], Section 3.2.6>
>   token         = <token, see [RFC7230], Section 3.2.6>

Best regards, Julian

---

From: Bjoern Hoehrmann <[email-masked]>
Date: Sat, 10 Jan 2015 17:45:01 +0100

* Julian Reschke wrote:
>> Notes
>> -----
>> The HTTP/1.1 RFCs define rules imported across documents using
>> prose rules for all rules except this one. This is an error
>> because RFC7231 does not mean to re-define the production rule.
>> ...
>

Appendix C should also have the corrected line

because the error is not importing `method`.

If `method` in a `request-line` is actually something different from
`method` in an `Allow` header, then RFC7231 should call `method` by a
different non-terminal name. As it is, you cannot make a single ABNF
file for all HTTP/1.1 ABNF because `method` is defined twice and there
may be differences between them explained only in prose.
-- 
Björn Höhrmann · mailto:[email-masked] · http://bjoern.hoehrmann.de
D-10243 Berlin · PGP Pub. KeyID: 0xA4357E78 · http://www.bjoernsworld.de
 Available for hire in Berlin (early 2015)  · http://www.websitedev.de/

---

From: Julian Reschke <[email-masked]>
Date: Sat, 10 Jan 2015 18:05:10 +0100

> because the error is not importing `method`.

Again, it is not an error. The spec is correct the way it is. I see your 
preference to reference instead of copying the rule (and I might 
actually agree with it).

> different non-terminal name. As it is, you cannot make a single ABNF

It is not different.

> may be differences between them explained only in prose.

We can, and we did. It's here: 
<http://svn.tools.ietf.org/svn/wg/httpbis/draft-ietf-httpbis/latest/httpbis.abnf>

The ABNF is just that; the ABNF. It may be true that the prose in the 
different parts of the spec add more explanations and constraints, but 
that has zero effect on the ABNF itself.

Best regards, Julian

---

From: Bjoern Hoehrmann <[email-masked]>
Date: Sun, 11 Jan 2015 02:30:21 +0100

>preference to reference instead of copying the rule (and I might 

So what is your desired outcome here? Right now anyone combining the
ABNF fragments from the HTTP/1.1 RFCs is likely to come across two
independent definitions for the `method` symbol and will have to check
what is going on. They will likely notice that the specifications do
follow a clear pattern for importing rules, just not for `method`, and
then try to find out what's special about it, possibly ultimately con-
cluding that there is nothing special about it and they can treat it
as if it had been "imported" like any other rule, but they can't really
be sure of that conclusion without independent verification. I would
like the errata to provide this verification.
-- 
Björn Höhrmann · mailto:[email-masked] · http://bjoern.hoehrmann.de
D-10243 Berlin · PGP Pub. KeyID: 0xA4357E78 · http://www.bjoernsworld.de
 Available for hire in Berlin (early 2015)  · http://www.websitedev.de/

---

From: Julian Reschke <[email-masked]>
Date: Sun, 11 Jan 2015 10:41:16 +0100

> what is going on. They will likely notice that the specifications do

First of all, combining the ABNF is intellectually interesting, but not 
very useful. The use of "method" in the request format happens at a 
layer different from the use in "Allow".

Furthermore, the check will show that indeed the ABNF is the same. So 
there is no problem here.

> like the errata to provide this verification.

There is nothing wrong with the spec. You are asking for an editorial 
change (that I might actually agree with), but the errata system is not 
the place to record proposals for editorial improvements.

(That being said: we planned to open an issue tracker for the next 
HTTP/1.1 revision, and *that* place would be the right one to record 
this things like this)

Best regards, Julian

---

From: Mark Nottingham <[email-masked]>
Date: Sun, 11 Jan 2015 08:37:58 -0500

On 11 Jan 2015, at 4:41 am, Julian Reschke <[email-masked]> wrote:
> 
> (That being said: we planned to open an issue tracker for the next HTTP/1.1 revision, and *that* place would be the right one to record this things like this)

… and that tracker is:
  https://github.com/httpwg/http11bis/issues

Cheers,

--
Mark Nottingham   http://www.mnot.net/