[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Option #1: Using WebDAV with Atom
To follow up on the conversation on using PUT to create new resources: WebDAV adds some definition to how PUT can create new non-collection resources (errors when parent doesn't exist, etc). It's the main way WebDAV clients (Photoshop, Mac's WebDAV/FS, many more...) create new files. WebDAV also defines how to use MKCOL to create collection resources.
This seems like a good time to make an introduction -- a couple people have pointed me towards this effort because I'm the chair of the WebDAV WG. I'm familiar enough with blogs too (though don't expect mine to have much traffic these days). I'd be happy to answer WebDAV questions on this mailing list although I'm not sure I can keep up with all the traffic very well.
I've recently been giving a number of tutorials on WebDAV. It seems it's the stealth standard. People are generally surprised to hear:
- That WebDAV has been a standard since 1998
- That WebDAV is supported in every new Windows OS released in the last five years, and every Mac OS X system
- That it's not just for Web page authoring - it has wide use in file sharing, content management systems, and even applications where traditionally a RDB would be used
- There's very little application-specific logic in WebDAV -- it's simply a data access / authoring protocol, without assuming whether the data being accessed or authored is Web pages or something else (calendar data, insurance forms, photos)
Also here's some resources to learn more...
- Slides for tutorial on WebDAV for OSAF audience <http://kahuna.osafoundation.org/~lisa/OSAF-webdav-tutorial-20040413.ppt>
- My book <http://www.amazon.com/exec/obidos/tg/detail/-/0130652083/qid=1086370071/sr=1-2/ref=sr_1_2/002-3595769-7142430?v=glance&s=books>
- WebDAV news and links (note recent standardization of access control) <http://www.webdav.org/>
- Paper on a complex application using WebDAV to store files and metadata <http://ecce.emsl.pnl.gov/docs/publications/ecce_evolution.pdf>
- Rough draft for accessing calendar data via WebDAV <http://www.ietf.org/internet-drafts/draft-dusseault-caldav-00.txt>
Lisa
On Jun 4, 2004, at 9:58 AM, Autrijus Tang wrote:
On Fri, Jun 04, 2004 at 05:27:04PM +0100, Bill de hÅua wrote:
I just think the semantics of PUT are wrong given the
constraint that the client can't count on controlling the final URI.
The reason it's wrong is because PUT is not for things that aren't
on the web yet (aka have URIs). This would be done via POST and a
Location header; I guess using PUT implies you've already had
something 201 Created.
http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.6
9.6 PUT
... "If the Request-URI does not point to an existing resource, and that
URI is capable of being defined as a new resource by the requesting user
agent, the origin server can create the resource with that URI."
... "If a new resource is created, the origin server MUST inform the user
agent via the 201 (Created) response."
It seems to me that one can indeed use PUT to create new resources.
Thanks,
/Autrijus/