W3C home > Mailing lists > Public > w3c-dist-auth@w3.org > April to June 1998

Re: webdav-collection-protocol-00: URI in M-PUT for creating new ref members

From: Judith Slein <slein@wrc.xerox.com>
Date: Wed, 10 Jun 1998 07:10:35 PDT
Message-Id: <>
To: Jim Davis <jdavis@parc.xerox.com>
Cc: w3c-dist-auth@w3.org, frystyk@w3.org, paulle@microsoft.com, lawrence@agranat.com
I think you are right.  So the example request to create a new referential
member of a collection would look like this:

M-PUT /~whitehead/dav/spec08.ref HTTP/1.1
Host: www.ics.uci.edu
Man: "DAV:Coll-headers"
Ref-Target: http://www.ics.uci.edu/i-d/draft-webdav-protocol-08.txt
Ref-Integrity: T
Position: After requirements.html
Content-Length: 0

The Referential-Member header is no longer really necessary, since the
server can tell from the presence of the Ref-Target header that it is
supposed to create a referential member rather than an internal member of
the collection.  But it might be worth keeping Referential-Member from a
human-readable point of view and to avoid using one header for two purposes.

I'm a little uncertain still whether it makes sense to use the Mandatory
Extensions to accomplish what we want.  The Mandatory spec says the server
should first process the extension headers, then process the PUT as usual.
I don't know how to make sense of this for our case.  What we are asking
the server to do is create an (empty) resource, and then put some DAV
properties on it, where the properties are specified by the extension
headers.  So the order of processing specified in Mandatory seems backwards
for us.


At 01:31 PM 6/9/98 PDT, Jim Davis wrote:
>Congratulations to Judy for creating this first draft.
>I have some questions, and I think I see some problems.  This is the first
>of several messages, one per topic, on this draft.
>The draft proposes the new referential members will be created using M-PUT
>(the syntax defined in the ID "Mandatory Extensions in HTTP").  This
>ensures that the server understands the additional headers necessary to
>define a referential member correctly.  The URI in the method is that of
>the collection, and the URI of the new referential member is in the
>Referential-Member header.  Using the M-PUT method (as opposed to plain old
>PUT) allows the client to be sure that the server does understand the new
>headers (e.g. Referential-Member) defined in the protocol.
>Unless I misunderstand the Mandatory ID, this isn't quite right, because it
>specifies that after processing the mandatory headers, the method is to be
>treated as an ordinary PUT, which in this case would be a PUT to an
>existing collection, which must fail.
>I suggest instead that the URI in the method be that of the referential
>member.   This makes the M-PUT resemble the (ordinary) PUT more closely.
>You don't need to pass the URI of the collection to contain the ref member,
>since you can get that from syntax of the URI alone.
Name:			Judith A. Slein
E-Mail:		slein@wrc.xerox.com
Internal Phone:  	8*222-5169
Fax:			(716) 422-2938
MailStop:		105-50C
Web Site:    http://www.nde.wrc.xerox.com/users/Slein/slein.htm
Received on Wednesday, 10 June 1998 10:12:00 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 20:01:13 UTC