2 Jan 2005 19:53
Comments on draft-dusseault-caldav-04
Julian Reschke <julian.reschke <at> gmx.de>
2005-01-02 18:53:50 GMT
2005-01-02 18:53:50 GMT
Hi, below are my comments about the -04 draft (top-down read, focusing on WebDAV/HTTP questions with little Calendaring specific checks): Best regards, Julian -- 04-C01 Section 1.1.1 <http://greenbytes.de/tech/webdav/draft-dusseault-caldav-04.html#rfc.section.1.1.1> A few terminology problems here: "WebDAV is an extension to the HTTP/1.1 [4] protocol, therefore its URLs are HTTP URLs." That's a bit misleading, as there are other URLs used within WebDAV which aren't HTTP URLs, for instance lock tokens. "If HTTP GET can be used to represent a calendar object..." GET doesn't represent objects, it *retrieves* representations of objects. In general, this probably should be re-organized into two parts: 1) why it's good to have retrievable URIs for calendar objects, thus HTTP 2) why it's good to re-use existing HTTP extensions, thus WebDAV(Continue reading)
> ...so I think the interpretation that the server may choose a
> different URI is really far-fetched.
Since the URI is not supposed to be stable by the protocol and since
server side ID generation is nothing unusual either I don't consider
this very far fetched. But anyway.
> Using the Location response header is fine for methods that create new
> resources in locations other than the request URI (such for instance a
> POST). The question is whether it's ok to let PUT choose a different
> location.
Si, thats the question.
>> Technically I don't see the issue with it either. The server is free
>> to move the resource afterwards anyway, there is nothing in HTTP
>> which ensures that a GET following the PUT will succeed (more
>> exactly: no transactions).
>> Am I missing something?
>
> Of course a server can do anything it wants. How much it deviates in
> doing this affects how well generic clients will work. Any generic
> client that issues PUT requests today will assume that a 201 upon PUT
> means that the resource indeed was created at the request URI.
RSS Feed