'last call' comment on draft-ietf-webdav-protocol-07.txt-- resource:URL 1:1?

The 'model' in draft-ietf-webdav-protocol-07.txt is ambiguous as
to whether each resource is required to have a single URL which
locates that resource.

At the working group meeting, there seemed to be some disagreement
about this point; Jim seemed to think (emphatically) that it was
required that the mapping between 'resource' and 'URL' was 1-1,
but others seemed to assert that it might be 1-many.

However, the interpretation of the model of the DAV spec depends
significantly on this choice. The language of the spec is consistent
with '1-many', but in that view, DAV is missing a critical operation:
obtaining (one or more of) the parent container(s) for a resource. 

If the interpretation is that DAV requires 1-1 mapping of
resources and URLs, then it is necessary, I believe, to have an
operation in DAV to obtain the "DAV-canonical URL" for a given
resource, and to insist that DAV clients always first translate
the resource they are asked to act on to the DAV-canonical one
before performing any subsequent operations.

I think it is imperative that this ambiguity in the specification
be resolved, and that either 'fix' to the protocol be applied.

Notes that in the 1-many interpretation, it should be made clearer
that properties are associated with resources rather than with their
URLs (e.g., that a PROPPATCH on one URL associated with a resource
will affect the PROPFIND returned by the other URL). Also, some
of the language about DELETE with depth would need to be clarified,
since it's written in a style that assumes that there is only
one path to a given resource.

If the model requires 1-1, this should be spelled out as well, and
some explanation of how canonicalization is applied should be supplied
as well. (For example, a server that is case-insensitive probably
needs to automatically canonicalize the URLs of the resources that
it is asked to author, since the 1-1 model requires the client to
do string manipulation of resources' URLs to determine whether a
collection is or is not a parent of another resource.

Larry
--
http://www.parc.xerox.com/masinter
 

Received on Friday, 28 August 1998 14:00:17 UTC