- From: Roy T. Fielding <fielding@gbiv.com>
- Date: Wed, 25 Jul 2007 16:10:16 -0700
- To: Julian Reschke <julian.reschke@gmx.de>
- Cc: HTTP Working Group <ietf-http-wg@w3.org>
On Jul 25, 2007, at 10:35 AM, Julian Reschke wrote: > the description of PUT states (<http://greenbytes.de/tech/webdav/ > rfc2616.html#rfc.section.9.6.p.1>): > > "The recipient of the entity MUST NOT ignore any Content-* (e.g. > Content-Range) headers that it does not understand or implement and > MUST return a 501 (Not Implemented) response in such cases." > > It's not clear to me what Content-* headers are? All headers > starting with the character sequence "Content-"? Just those defined > in RFC2616? Any header field name that begins with Content- (as reserved by MIME). > Furthermore, that language sounds as if a server that ignores > Content-Language (as opposed to storing it with the entity) MUST > reject PUT requests that come with a Content-Language header. Is > this really intended? Does anybody implement that? No. The only reason it is in the spec, IIRC, is because some folks wanted to squeeze Content-Range on PUT into the spec in spite of the fact that it was known to fail interoperability on all deployed servers. Thus, an incompatible requirement was added to HTTP, over the objections of the real vendors, in order to promote a feature that did not yet exist. It didn't work then, still doesn't work, and should be removed from the spec. PATCH is a better solution. In PATCH, all of the Content- headers refer to the patch entity. Any metadata that needs to be changed as part of the PATCH can be changed through the use of a patch format that contains metadata-deltas. ....Roy
Received on Wednesday, 25 July 2007 23:10:24 UTC