Subject: RFC 2616 Errata: 14.11 Content Encoding

From: "Travis Snoozy (Volt)" <[email-masked]>
Date: Thu, 14 Dec 2006 11:09:11 -0800

The third paragraph of section 14.11 (page 118) reads as follows:

If the content-coding of an entity is not "identity", then the response MUST include a Content-Encoding entity-header (section 14.11) that lists the non-identity content-coding(s) used.

Aside from being self-referential, the phrasing can be interpreted in at least two ways, neither of which is probably the *intended* meaning:

* If the content-coding of an entity [in the request] is not "identity", then the response MUST include a Content-Encoding entity header [...].

* If the content-coding of an entity [at the URI requested by the client] is not "identity", then the response MUST include a Content-Encoding entity header [...].

Because the requirement specifically applies to "the response", both of these interpretations place a burden only on the server. The client is not required to declare any Content-Encoding values on its request message. However, the paragraph afterward (as well as the BNF for Request; Section 5, P35) implies that clients are allowed to send content-encoded messages to the server (because the server SHOULD respond with a 415 status). Thus, unless it is truly the case that clients are NOT required to explicitly identify content-encodings, I would suggest the following modification:

If the content-encoding of an entity is not "identity", then the <del>response</del><ins>HTTP-message containing the entity</ins> MUST include a Content-Encoding entity-header <del>(section 14.11)</del> that lists the non-identity content-coding(s) used.

-- Travis

---

From: Julian Reschke <[email-masked]>
Date: Fri, 15 Dec 2006 13:53:55 +0100

> Aside from being self-referential, the phrasing can be interpreted in at least two ways, neither of which is probably the *intended* meaning:

The self-reference is clearly an editorial issue that I'll fix right away...

> * If the content-coding of an entity [at the URI requested by the client] is not "identity", then the response MUST include a Content-Encoding entity header [...].

I think the latter applies.

> Because the requirement specifically applies to "the response", both of these interpretations place a burden only on the server. The client is not required to declare any Content-Encoding values on its request message. However, the paragraph afterward (as well as the BNF for Request; Section 5, P35) implies that clients are allowed to send content-encoded messages to the server (because the server SHOULD respond with a 415 status).

Yes, clients are allowed to use Content-Encoding in the request. Do we 
have information whether this works in practice?

 > Thus, unless it is truly the case that clients are NOT required to 
explicitly identify content-encodings, I would suggest the following 
> If the content-encoding of an entity is not "identity", then the <del>response</del><ins>HTTP-message containing the entity</ins> MUST include a Content-Encoding entity-header <del>(section 14.11)<…

That sounds right to me.

Best regards, Julian