An idea for PUT where the server picks the name


I proposed an ADDMEMBER method some time ago 
and one feedback I got was that it's not needed because it duplicates POST.

In fact, Atompub (RFC 5023) uses POST exactly this way.

My main concern with this approach is that clients in general do not 
know what the semantics of a POST will be, so the servers needs to tell 
them in some way. In HTML forms are used, in Atompub it's part of the 
contract for collections.

So how about something like this:

- define a new live property on collections, "post-location", containing 
an DAV:href element identifying a resource that the client can POST to

- servers that already use POST on collections would just assign a 
different URI for that service, others could just use the collection's URI

- POST would work as in AtomPub: post any type of content, server stores 
it, and returns new URI in Location header.

- we probably would also want to include the Slug header, as defined in 

(I recall people were unhappy with CalDAV requiring support for PUT, 
could this be useful over there as well?)

BR, Julian

Received on Wednesday, 30 July 2008 09:23:10 UTC