- From: Adrien de Croy <adrien@qbik.com>
- Date: Mon, 08 Jun 2009 22:44:12 +1200
- To: "Roy T. Fielding" <fielding@gbiv.com>
- CC: Mark Nottingham <mnot@mnot.net>, HTTP Working Group <ietf-http-wg@w3.org>
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