DELETE Semantics in Advanced Collections

The authors of the advanced collections spec would like to get general
reactions to the DELETE semantics that appear in section 4.2.8 of our
current spec.  I've extracted some relevant definitions and the text of
4.2.8:

Binding
     An association between a single path segment and a resource.  
     Because a binding is a member of a collection, a binding creates 
     one or more URL mappings to the resource.

Collection
     A resource that contains a set of bindings, termed member 
     bindings, which identify member resources.

Member Binding
     A binding that is a member of the set of bindings contained by a 
     collection.

URL Mapping
     An association between an absolute URL or URI and a resource. It 
     is possible for a resource to have zero, one, many, or even an 
     infinite number of URL mappings to URLs or URIs. Mapping a resource to 
     an "http" scheme URL makes it possible to submit HTTP protocol 
     requests to the resource using the URL.

4.2.8 DELETE and Bindings

The DELETE method requests that the server remove the binding between 
the resource identified by the Request-URI and the binding name, the 
last path segment of the Request-URI (with trailing slash, if present). 
The binding MUST be removed from its parent collection, identified by 
the Request-URI minus its trailing slash (if present) and final segment. 
If DELETE removes the last binding to a resource, the server MAY also 
reclaim system resources associated with the resource.

Since DELETE as specified in [WebDAV] is not an atomic operation, it may 
happen that parts of the hierarchy under the request-URI cannot be 
deleted.  In this case, the response is as described in [WebDAV].

Section 8.6.1 of [WebDAV] states that during DELETE processing, a server 
"MUST remove any URI for the resource identified by the Request-URI from 
collections which contain it as a member."  Servers that support 
bindings SHOULD NOT follow this requirement.

-----------------

In addition, we are proposing to add to the specification an All-Bindings
header for use with DELETE.  This would request the server to remove all of
the bindings to the resource, and would allow the server (but not require
it) to reclaim system resources associated with the resource once the
bindings were removed.

--Judy

Judith A. Slein
Xerox Corporation
jslein@crt.xerox.com
(716)422-5169
800 Phillips Road 105/50C
Webster, NY 14580

Received on Thursday, 20 May 1999 16:16:34 UTC