Re: Proposal: 205 Bodies [#88]

from RFC2616

10.2.6 205 Reset Content

"... The response MUST NOT include an entity. "


4.4 Message length

"1.Any response message which "MUST NOT" include a message-body (such as 
the 1xx, 204, and 304 responses and any response to a HEAD request) is 
always terminated by the first empty line after the header fields, 
regardless of the entity-header fields present in the message. "

I read this as any 205 response being terminated by the blank line, 
regardless of any Content-Length, and certainly disallowing chunking?  
Sure, 205 isn't given as an example, however the requirement is about 
any response message which MUST NOT include a message body, which 205 
satisfies according to 10.2.6.

Regards

Adrien




Roy T. Fielding wrote:
> On Jun 8, 2009, at 12:16 PM, Mark Nottingham wrote:
>
>> <http://trac.tools.ietf.org/wg/httpbis/trac/ticket/88>
>>> RFC2616 Section 4.3 "Message Body" enumerates those messages that 
>>> don't include a message-body;
>>>
>>> All 1xx (informational), 204 (no content), and 304 (not modified) 
>>> responses MUST NOT include a message-body. All other responses do 
>>> include a message-body, although it MAY be of zero length.
>>>
>>> However, it does not list 205 (section 10.2.6).
>>>
>>> Also if you look at the texts for 204, 304 and 205 responses, you 
>>> see that 204 and 304 say "MUST NOT include a message-body", whereas 
>>> 205 says "MUST NOT include an entity". 204 and 304 go on to say that 
>>> the message is terminated at the first empty line, but 205 does not 
>>> say that.
>>>
>>
>>
>> Proposal:
>>
>>  - Add 205 to p1 sections 4.3 and 4.4 (which is where 2616's 4.3 
>> ended up), and
>>  - Revise the language in p2 8.2.6 (the definition of 205 Reset 
>> Content) to use the "MUST NOT include a message-body".
>>
>> The only argument I can see against this is that someone might 
>> include entity headers in a 205 response, in the belief that that 
>> response updates a cache. This could be fixed by adding the phrase 
>> "or entity headers" to the MUST NOT requirement above. However, I 
>> would note that 204 doesn't have any such language, and this 
>> confusion hasn't come up before, so I don't think it's really necessary.
>>
>> I think this is *almost* editorial -- any objection?
>
> Big objection.  205 was added late in the process of 2068 and
> could not be grandfathered into the message parsing algorithm
> as yet another (bad) exception.  The requirement that 205 not
> include an entity means that the message-body MUST be of zero size
> (i.e., Content-Length must be supplied with a value of 0
> or Transfer-Encoding chunked is used with a zero-length chunk).
>
> Hence, it is correct as specified, albeit confusing.  It will
> be less confusing when the terminology is cleaned up.
>
> ....Roy
>

-- 
Adrien de Croy - WinGate Proxy Server - http://www.wingate.com

Received on Monday, 8 June 2009 10:41:30 UTC