- From: Lisa Dusseault <lisa@osafoundation.org>
- Date: Mon, 22 Dec 2008 09:03:02 -0800
- To: Julian Reschke <julian.reschke@gmx.de>
- Cc: HTTP Working Group <ietf-http-wg@w3.org>
On Dec 22, 2008, at 2:47 AM, Julian Reschke wrote: > Lisa Dusseault wrote: >>> I can't recall why we're making this requirement; it seems to copy a >>> requirement for PUT. However, for PUT, "applying an entity header" >>> just >>> means storing it. What does it mean for PATCH? This introduces a >>> "must-understand" rule without knowing what "understand" precisely >>> means... >> This seems to have gotten broken unintentionally. It used to read >> "The server MUST NOT ignore any Content-* headers". That's a much >> more reasonable requirement, because the server can tell what >> headers are Content-* headers while it can't tell what entity- >> headers are. And the requirement to understand the Content-* >> headers means that the server knows what to do with it which >> depends on : to save the Content-Type or Content-Language as >> metadata, to confirm or ignore the Content-Length, etc. > > Well, RFC 2616 says that any header that is not a request or general > header is an entity header. And yes, this is not really true in > practice. > > An no, the entity header, thus the Content-* headers do *not* apply > to the resource being patched, but to the payload. So when I use > Content-Type: application/diff in a PATCH request, I do *not* want > that to be set on the resource being patched :-). If I had a better memory, I wouldn't have circular arguments like this. Argh. Yeah, Content-Type is universally used to indicate the content of the payload, and shouldn't be used to change the Content- Type of the resource being patched. There is a minor problem of Content-Language, I think the other Content-* headers are even more irrelevant. How many systems out there actually save the Content-Language provided by the client in a PUT? And for those systems, is the only way to change the Content- Language to issue another whole PUT? What would those systems want a PATCH with a Content-Language to mean -- (1) "This is the new Content- Language for the resource, please save it" or (2) "This is the language of the PATCH payload so it's irrelevant, throw it away" or (3) illegal. thanks, Lisa
Received on Monday, 22 December 2008 17:03:48 UTC