RFC 7230 inline-errata, "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing", June 2014
Source of RFC: httpbis (wit)
⚠ This RFC has been obsoleted!
Obsoleted by: RFC9110, RFC9112
Updated by: RFC8615
Errata-ID: 5257
- Status:
- Held for Document Update
- Type:
- Technical
- Reported By:
- Erwin Pe
- Date Reported:
- 2018-02-07
- Held for Document Update by:
- Francesca Palombini
- Date Held for Document Update:
- 2021-08-23
Section 7 says:
For compatibility with legacy list rules, a recipient MUST parse and
ignore a reasonable number of empty list elements: enough to handle
common mistakes by senders that merge values, but not so much that
they could be used as a denial-of-service mechanism. In other words,
a recipient MUST accept lists that satisfy the following syntax:
#element => [ ( "," / element ) *( OWS "," [ OWS element ] ) ]
1#element => *( "," OWS ) element *( OWS "," [ OWS element ] )
It should say:
For compatibility with legacy list rules, a recipient MUST parse and
ignore a reasonable number of empty list elements: enough to handle
common mistakes by senders that merge values, but not so much that
they could be used as a denial-of-service mechanism. In other words,
a recipient MUST accept lists that satisfy the following syntax:
#element => [ ( ("," OWS element) / element ) *( OWS "," [ OWS
element ] ) ]
1#element => *( "," OWS ) element *( OWS "," [ OWS element ] )
Notes:
With the current ABNF rule for #element, and using token as an element, the construction:
", foobar"
cannot be derived from #element, but can be derived from 1#element. (legacy list rule)
Since #element is meant to be a superset of 1#element, lists derived from 1#element should satisfy the #element rule as well.