- From: Roy T. Fielding <fielding@gbiv.com>
- Date: Tue, 7 Aug 2007 15:33:39 -0700
- To: Julian Reschke <julian.reschke@gmx.de>
- Cc: Henrik Nordstrom <henrik@henriknordstrom.net>, HTTP Working Group <ietf-http-wg@w3.org>
On Aug 7, 2007, at 5:05 AM, Julian Reschke wrote:
> Henrik Nordstrom wrote:
>> On mån, 2007-08-06 at 23:43 +0200, Julian Reschke wrote:
>>> Cache-Control applies to the response. What the proposal is about
>>> is to enable the server to say that
>>>
>>> (a) the response body (DAV:multistatus) is cachable for n
>>> seconds, while
>>>
>>> (b) the substitute URL can be used for N seconds,
>> Is there really a need to time-limit the substitute URL?
>
> I have to admit I'm not really sure.
I don't even understand why such a thing would be useful. All URLs
are permanent -- it is only the representations that change over time.
>> Imho this should be to an permanent alternative URL-namespace for
>> accessing the properties, existing even before the request has been
>> seen. If the URI disappeares for whatever reason the client will
>> need to
>> fall back on PROPFIND, or whatever method is used in future to
>> find the
>> "PROPFIND URI namespace schema".
>
> Yes, one could argue that a 404 response on the substitute URL is
> the signal to go back to the original method and Request-URI.
> However, that would mean that:
>
> - that we loose the ability to use 404 as in the original method
> (such as: the resource is gone, but it may come back), and
>
> - it may become harder to deploy changes in the server software
> (when the substitute URL format changes).
>
>> There is no problem for PROPFIND to define that this Content-
>> Location is
>> permanent.
>
> ...other than RFC2616 saying it's not permanent?
>
> I'd really prefer not to change this.
I don't know if this is just a language issue or bad grammar within
the spec, but I know for a fact that isn't what was intended or in
practice. What the spec is supposed to say is that the new location
is not a permanent replacement for the URI that was used in the original
request. In other words, the recipient cannot assume that
PROPFIND oldURI == PROPFIND newURI
That statement has nothing whatsoever to do with the permanence of
newURI as an identifier for the new resource. If you just think of
how C-Loc is used most commonly -- within content negotiation -- that
should be clear. newURI is ideally the permanent identifier for the
variant that directly corresponds to the provided representation
(as included in the entity). In other words, Content-Location
is exactly what you want. The only thing you need to add is a
clarification that the provided general/response-header fields are
also applicable to that Content-Location as if it had been a GET
request, but only when the security consideration regarding cache
poisoning can be reasonably avoided.
....Roy
Received on Tuesday, 7 August 2007 22:33:44 UTC