Re: NEW ISSUE: Content-* headers vs PUT

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