[Protocol bits] Is WebDAV RESTful?

Mark Baker distobj@acm.org
Wed, 22 May 2002 23:30:41 -0400


On Tue, May 21, 2002 at 11:36:35AM -0700, Elias Sinderson wrote:
> > To me, it seems clear that PROPFIND should have been done with GET.
> > LOCK *could* also have been done with PUT, but I wouldn't go so far to
> > say that it *should* have been.
> 
> Please elucidate your reasoning, why does this seem clear? To me, the
> semantics of PROPFIND are distinctly different from those of GET. Your
> reasoning would seem to imply that PROPPATCH should be done with PUT?

Yes.

The practical reason for GET is that is that I shouldn't have to know
the secret handshake to get a URI to tell me what it is; I should just
invoke GET.  GET and URIs go hand-in-hand.  You can't have one without
the other.

See; http://lists.w3.org/Archives/Public/www-tag/2002Feb/0091

> Would
> the second sentence above then imply that you regard a lock as a property as
> well? I can almost see how this could be the case, but it seems twisted
> somehow - like sticking a soapy GET into the body of a POST... It can be
> done, but thinking about it make me feel dirty (and not the good kind of
> dirty).

Heh, well, I don't see it that way at all.

> > As for other WebDAV related stuff, I saw a DASL draft recirculating
> > recently.  DASL should use GET too (or my POST/201/GET idiom), not
> > SEARCH.
> 
> Again, can you support this view with some examples as to why it is more
> appropriate? There are aspects of SEARCH which wouldn't seem to fit with GET.

Wouldn't you agree that searches should be identified by URI, so that
they can be bookmarked, discussed, etc.. - all the yummy goodness you
get when you have a URI?  And if a search does have a URI, why do you
need a special method for it when GET would suffice?

> In the strictest sense, almost anything could be done with a POST by
> extending the headers to include all sorts of stuff but this is a bad idea,
> right?

As long as you're using POST to mean POST, then extensions are fine.

> I think it makes sense to distinguish between the semantics of certain
> operations on resources... It helps to keep things clear in the head.

So how about a GET-STOCK-QUOTE method for invoking on any URI that
identifies a stock?  (said half-jokingly)

MB
-- 
Mark Baker, CTO, Idokorro Mobile (formerly Planetfred)
Ottawa, Ontario, CANADA.               distobj@acm.org
http://www.markbaker.ca        http://www.idokorro.com