W3C home > Mailing lists > Public > w3c-dist-auth@w3.org > January to March 2000

Re: Qualities of URLs and resources

From: Roy T. Fielding <fielding@kiwi.ICS.UCI.EDU>
Date: Thu, 10 Feb 2000 21:36:03 -0800
To: Jim Whitehead <ejw@ics.uci.edu>
cc: fielding@ebuilt.com, w3c-dist-auth@w3.org
Message-ID: <200002102136.aa15064@gremlin-relay.ics.uci.edu>
>> Actually, it is more like ({U,t} -R-> {V1, V2, ...}), where t is the
>> current time, R is the resource, -R-> is a mapping function that has
>> been implemented according to the semantics of resource R), and the range
>> is a set of values representing that resource at time t.
>
>OK, so this notation makes it much more clear that a resource is a mapping
>function.  However, if we just call the mapping function "R", this allows us
>to express that multiple URI can be associated with the same mapping
>function.  That is, the binding spec. is based on the mapping from URI to R
>being many to one.  From your post, I think you believe it is one to one.
>If so, this is at the heart of our disagreement.

No.  I've said many times that a resource can have many identifiers.
In other words, you can have two different URI that *mean* the same
thing when used to access a server.  But, you can also have two URI
that result in the same mechanism being used upon access to the server,
and yet those two URI point to two different resources because they
don't mean the same thing.

What the bindings spec gets wrong is that at no time whatsoever
does the server or the client know the meaning of the URI, and therefore
cannot know whether a new binding represents a new identifier for
the resource or a new identifier for a *new* resource that just
happens to share the same implementation mechanism at that time.
That's because the resource is the concept, not the representation
of that concept and not the URI-to-representation mapping mechanism
on the server.

There are no resources on the server; just mechanisms that supply
answers across an abstract interface defined by resources.
The reason the protocol talks about these things as resources
is because the protocol is not allowed to define the mechanisms
on either side of the abstract interface.

It may seem odd, but this is the essence of what makes the Web work
across so many different implementations.

The reason I said that the bindings spec should just *treat* the
interface as if the URI:R is one to one is because that way the
issues of maintaining the semantic mapping are left to the author,
while the interface, which is always manipulating resources, has the
effect of manipulating URI mappings.

In other words, if you just remove *everything* in the bindings spec
that defines an implementation, including all of the attempts at defining
bindings as being something other than resources, then what you will end
up with is a very simple protocol for manipulating URI mappings on
remote servers.

....Roy
Received on Friday, 11 February 2000 00:36:13 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:43:54 GMT