- From: Henrik Nordstrom <henrik@henriknordstrom.net>
- Date: Mon, 06 Aug 2007 23:32:02 +0200
- To: "Roy T. Fielding" <fielding@gbiv.com>
- Cc: HTTP Working Group <ietf-http-wg@w3.org>
- Message-Id: <1186435922.13317.53.camel@henriknordstrom.net>
On mån, 2007-08-06 at 13:11 -0700, Roy T. Fielding wrote: > > 209 Content Retuned > > okay, but only if it is forbidden as a response to GET. Agreed. It's only a patch to work around the earlier specification mistakes allowing 200 OK to be used for "aux information" different from the requested entity. But the more I think about this the less convinced I get that a new "200 OK here is your content" status code is needed. Simply providing a Content-Location or expiry information in the 200 OK should be sufficient. I.e. a generalisation of the POST rules, adding Content-Location as an alternative criteria an applying it to any method unless the method definition says otherwise. > There is no > need to make any special reference to Vary or Cache-control -- just > define all fields to be interpreted as if the request method had been > GET. Fine by me. > > 210 Information returned > > No way. That is what Content-Location provides. We don't need a > Content-Etag header field -- the Etag response header field would > always have the same value. Thats what my gut says as well, but this talk about "requested variant" got me a bit worried. Currently the concept of "GET like non-GET methods" fits rather poorly in the cache model of RFC2616. Well, back on that topic. Here is a definition of "requested variant" which would work out quite reasonably I think: requested variant the entity returned if the same request had been a GET request sent to the Content-Location URI, or Request-URI if no Content-Location header is present in the response. About the only special case where the Request-URI could be used equally to Content-Location in this is HEAD, but then HEAD is a bit of a special case in itself.. For many other methods the meaning of Content-Location is very significant as a simple transition of the request to GET doesn't account for all the possible variance vectors involved. I.e. a PUT to a Vary:ing URI might only update one variant of that resource, possibly different from what the same request as a GET would return. Even more so for PATCH. And PROPFIND returns information from a different namespace. Then the cache invalidation rules needs to be refined a bit to avoid things like PROPFIND flushing all cached variants of the requested URI. It's not realistic that caches should need to learn every new "GET-like" method people invent.. Regards Henrik
Received on Monday, 6 August 2007 21:32:14 UTC