W3C home > Mailing lists > Public > w3c-dist-auth@w3.org > July to September 1999

Re: Trailing "/" in BIND Requests

From: Geoffrey M. Clemm <gclemm@tantalum.atria.com>
Date: Thu, 16 Sep 1999 10:20:56 -0400
Message-Id: <9909161420.AA04005@tantalum>
To: w3c-dist-auth@w3.org
   From: "Yaron Goland (Exchange)" <yarong@Exchange.Microsoft.com>

   The inability to bind "/" simply means that your model is broken. There is
   nothing exceptionally special about the "/" resource name other than it
   doesn't have a parent. It must be just as bindable as any other resource

The BIND operation is the way of linking a resource by name into a
collection resource (i.e. giving it another parent).  If a BIND were allowed
to succeed on "/", it would result in "/" having a parent, which would
violate the very thing that you identified as being special about "/",
namely that it has no parent.

Another way to see why this is so, is to observe that BIND is
really is a 3 argument operation:

BIND(source-resource-URL, destination-collection-URL, binding-name).

For convenience, we have encoded it as:

BIND source-resource-URL
Destination: destination-collection-URL/binding-name

This is unambiguous, since you strip off a trailing slash (if any)
from the Destination URL, use the last segment of the resulting URL to
get the binding-name, and the remainder of the Destination URL is the
destination-collection-URL.  This works for every URL except for
"/", since stripping off the trailing slash will leave you with the
empty string from which you can get neither a legal binding-name
nor a legal destination-collection-URL.

Judy: We might want some form of this preceding paragraph to the spec
to make sure servers parse the Destination header of the BIND properly.

Received on Thursday, 16 September 1999 10:20:59 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:01:20 UTC