WebDAV vs HTTP method semantics

Mark Baker distobj@acm.org
Sat, 25 Aug 2001 23:39:38 -0400 (EDT)

Hi Justin,

> Your line of logic is pleasent to follow Mark, but the pragmatist in me 
> just isn't convinced:
> o Without a LOCK, atomic MOVE, or atomic TAKE, I see no primitives on 
> which to build efficient coordination/locking protocols between user 
> agents.  Personally I'd prefer to get rid of LOCK and use TAKE instead.

I'd need to know more about what types of coordination protocols
you're talking about, but if, as it appears, efficiency is so
important to you, perhaps you shouldn't even try to use HTTP or
even TCP.

> o Your multi-round trip GET+PUT+DELETE just doesn't make sense unless 
> method chaining is added to HTTP.

Just to be clear, by "make sense" you mean "inefficient", right?
You agree that the meanings are equivalent?

> What if an atomic method chaining facility was added to HTTP?  Then you 
> could implement TAKE as chain(GET+DELETE) and MOVE as 
> chain(GET+PUT+DELETE).  The semantics of the
> chain could either be that only the last response of the chain was 
> returned, or all of the responses of the chain were returned.

Three major problems with this; complexity, complexity, and yet
more complexity.  You're not the first person to have this idea.
FWIW, the best HTTP can do here is pipelining; it can't save you
the round trips, but it can save you the cost of connection setup.

> There would of course be a zillion subtleties to work out,

You got that right!

(note to REST-watchers; I'll be miles from an IP packet for the
next week)