Hi James, --On June 28, 2007 10:47:59 AM -0700 James M Snell <jasnell@gmail.com> wrote: >> In the general case PATCH either fails with 4xx (Conflict) or succeeds. >> In the latter case, a client can always send a subsequent GET. >> > > The only challenge with this is that the whole point of returning the > entity in the response is to verify that the resource was patched > successfully. If the resource is modified between the time the PATCH > response is received and a subsequent GET is issued, then verifying the > result becomes problematic. Using Etags we can obviously detect the > subsequent change, but it's harder to verify that our specific change > was applied correctly. For byte/character based deltas, this is not so > much of a problem. For structural deltas it can be a significant problem. Yes - indeed I have run into a similar problem with CalDAV. In that case the server is a gateway to another calendar system and has to modify data that is PUT by a CalDAV client. Because of all the well-known issues with ETags on PUT, the client is currently forced to immediately turn around a do a GET to get the server-modified data back. It would be nice if there were an HTTP request header for PUT that told the server to return the actual stored entity (if a change actually occurred) with its corresponding ETag. That would avoid the need for the extra roundtrip. -- Cyrus DabooReceived on Thursday, 28 June 2007 18:59:53 GMT
This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:38:27 GMT