Re: draft-snell-http-prefer

Actually, I don't think you need Preference-Applied *or* Vary to indicate this; both are barking up the wrong tree. 

Rather, you need something with the specific semantics "the representation of the resource is byte-equivalent to the PUT request you just made" for *that* case.

This could be a new status code, or it could be a header on the response. It could even be a "duplicate" link relation (RFC6249), pointing to a URI for "the request you just made"; e.g.

200 OK
Link: <urn:http:your-request>; rel="duplicate" 

(obviously, we would need to get the URL actually defined)

The tricky part, no matter what approach you take -- including preference-applied! -- is figuring out what this means for headers; it's fuzzy at best.

Cheers,


On 04/10/2012, at 12:27 AM, Ken Murchison <murch@andrew.cmu.edu> wrote:

> Hello,
> 
> I'm working on draft draft-murchison-webdav-prefer which describes how the return-minimal and return-representation apply to WebDAV/CalDAV methods.  My work is primarily CalDAV-centric but we are trying to make it generic to WebDAV and its derivatives.
> 
> One of the issues that keeps coming up is a way for the client to differentiate between two  cases:
> 
> - the server doesn't return a representation because it ignored or doesn't support the return-representation preference
> 
> - the server understood the preference but didn't return a representation because it didn't change from what was in the request
> 
> One possible solution is for the server to return a Vary: Prefer header to indicate that the server understood the preference, thereby allowing the client to infer what the lack of a representation in the response means.
> 
> The next question is, does any such mandate or recommendation, if required, belong in my webdav-prefer draft or in the base Prefer spec?
> 
> Thoughts?
> 
> -- 
> Kenneth Murchison
> Principal Systems Software Engineer
> Carnegie Mellon University
> 

--
Mark Nottingham   http://www.mnot.net/

Received on Saturday, 13 October 2012 18:41:27 UTC