- 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
>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). Bugger. 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. ....Roy [p.s. I hate HTML mail]
Received on Monday, 17 January 2000 16:19:36 UTC