

Re: WebDAV Bindings - Issue Yaron.Insulting2616

From: Roy T. Fielding <fielding@kiwi.ICS.UCI.EDU>
Date: Mon, 17 Jan 2000 13:19:26 -0800
To: Yaron Goland <yarong@exchange.microsoft.com>
cc: "'Jim Whitehead'" <ejw@ics.uci.edu>, w3c-dist-auth@w3.org
Message-ID: <200001171319.aa14524@gremlin-relay.ics.uci.edu>
>With all due respect, I think ALL of the 2616 authors should have a chance
>to respond as they all are indicted by your comments.

You are welcome to get comments from the others, but the words being
referred to were written by myself and Henrik, with me being responsible
for any bits having to do with the semantics of the interface.  So if
it is intentions you want to hear about, Jim asked the right person.

Now all I have to do is put enough free time together to read the
spec I printed out over the weekend.

To answer the question in partial ignorance (having only read prior
discussions and the actual paragraph quoted by Jim), my intention was
that DELETE would apply to the resource and that all naming operations
would be applied to the collection resource (which was an easy punt, since
nobody else wanted to define collections in the base HTTP/1.1).
For example, TimBL's notion of creating a new resource was to POST it
to the collection resource.

Note, however, that from the client's perspective, deleting a binding
and deleting a resource are the same thing.  That is because there is
no mechanism for determining whether or not two different URI identify
the same resource.  The only difference from the WebDAV perspective is
that a resource DELETE may effect multiple bindings (but even this is
no different than saying any indirect name, including URNs, is ultimately
impacted by the deletion of identifers that they indirect towards).

And whatever you think while reading this, keep in mind that the resource
is not the storage thingy on the back-end -- it is the concept being
referenced by the originator of the URI.  I don't understand how
the server is supposed to know what the resource is when the user is
allowed to create new bindings willy-nilly.  Therefore, either the
server needs to be told what the resource is when the bindings are
created (which doesn't seem likely, since most of the users wouldn't
understand the difference) or the definition of DELETE should be changed
to reflect the easier-to-grasp notion of removing the binding.

This confusion has been brought to you by the design trade-off of
scalable indirect references within uncontrolled hypertext source.
We reference resources, not bindings and not storage objects, because
the concept being referenced is the least likely to change over time.
A good namespace has a 1:1 correspondence between bindings and resources.


[p.s. I hate HTML mail]
Received on Monday, 17 January 2000 16:19:36 GMT
