[Technical Errata Reported] RFC7230 (4667)

Previous Topic Next Topic
classic Classic list List threaded Threaded
21 messages Options
Reply | Threaded
Open this post in threaded view

Re: [Technical Errata Reported] RFC7230 (4667)

Alex Rousskov
On 08/18/2016 03:19 AM, Alexey Melnikov wrote:

> Can you please send me how you would like the erratum to look like,
> containing 3 parts: old text, new text and comments? Then I will get
> it fixed.

Here are the three requested parts:

Section: 4.1.1

Original Text

chunk-ext      = *( ";" chunk-ext-name [ "=" chunk-ext-val ] )

Corrected Text
chunk-ext      = *( BWS ";" BWS chunk-ext-name [ BWS "=" BWS
chunk-ext-val ] )


The infamous "implicit *LWS" syntax rule in RFC 2616 allowed whitespace
between chunk-ext parts. Some HTTP agents generate that whitespace. In
my experience, HTTP agents that can parse chunk extensions usually can
handle that whitespace. Moreover, ICAP, which utilizes HTTP/1 chunked
encoding, uses that whitespace when defining the "ieof" chunk extension
in RFC 3507 Section 4.5:

      0; ieof\r\n\r\n

HTTPbis RFCs already allow BWS around "=" for transfer-parameter and
auth-param that have similar syntax. HTTPbis RFCs already allow OWS
around ";" in transfer-extension, accept-ext, t-ranking, media-type, and
other constructs with similar syntax.

For consistency and backward compatibility reasons, RFC 7230 should
allow BWS between chunk-ext parts. IMHO, RFC 7230 should allow OWS
around ";" instead, but I failed to convince the HTTP WG that OWS is
better than BWS there.