W3C home > Mailing lists > Public > www-tag@w3.org > January 2003

Re: Valid representations, canonical representations, and what the SW needs from the Web...

From: Roy T. Fielding <fielding@apache.org>
Date: Fri, 31 Jan 2003 15:00:38 -0800
Cc: www-tag@w3.org
To: Sandro Hawke <sandro@w3.org>
Message-Id: <D094B06D-356F-11D7-8D4E-000393753936@apache.org>

>> The groundwork of REST and the pairing of the concepts of resource
>> and representation are great, and serve the needs of the Web, ...
>
> There are some things about REST that do not make sense to me.  I've
> raised the questions on this list, but if there were any responses I
> missed them.  (No blame here; the list has been crazy and no one has
> the job of explaining REST to me.   But since you seem to be
> volunteering, I'll go ahead and repeat my questions.)

That sounds like a question more appropriate for rest-discuss.

> From [2]: How does REST handle the case of there being
> two different web pages about the same thing?

REST doesn't need to handle the case.  The URI to resource mapping
is N:1 and only one of those N are used at a time.

Philosophically, GET responses to the two URI can only differ in ways
unrelated to the state of the resource.  Similarly, they must have the
same constraints on sameness (e.g., if one is constrained to always
show a picture and the other is constrained to always show a text
description, then they are not the same resource -- those added
constraints form a conceptual sameness that is just as binding as
the primary subject).  Likewise, if the only way to access an "http"
resource is via HTTP, then the HTTP interface is a property of that
resource.

In other words, in order to identify the same resource, it must be
true that if one were able to look at all future representation
mappings of each resource, the two URI would be semantically
equivalent over all of that time.  Thus it is impossible for
people or technology to observe the meaning of a resource without
depending on statements by the naming authority, since we are
incapable of observing future time.  However, we can guess
the meaning of a resource by virtue of its sameness, and simply
change the links if our guess turns out to be wrong.

This is not a technical problem.  There is no technical solution.
The context of the Web recognizes the value of multi-organizational
boundaries and the inherent limitations of mutual understanding
within any such system.  Therefore, a resource is a goal -- an
idealistic desire by one organization to provide a source for
future use, and an idealistic hope by authors to identify a source
for future use.  It only works perfectly when both sides share the
same vision, but perfection is rarely necessary in the short term
of typical web lifespans.

Providing a typical web resource is like providing a target for use
by a hundred archers, but without a standard for the "center".  Both
the archers and the provider are influenced over time by what others
think of as the center of the target, so semantics are more likely
to be anticipated rather than measured.

Note: a resource with an RDF description as metadata is not typical.

> From [3]:
>
>     It's hard to accept the idea that there is one thing identified by
>     each URI when no one can tell me anything about that thing, except 
> in
>     trivial, made-up cases (like DanC's "this is a car" page).

Really?  That's strange.  I can tell you every bit of sameness
intended of all URI that I have minted.

The car example is a waste of time because it isn't valid for either
model -- in TimBL's it seems as if two different resources have the
same URI, and in mine two obviously different resources are claimed
to be directly identified by the same URI, which is impossible in
REST because a resource is only created by the naming authority when
the mapping is consistently maintained.  The car example doesn't make
any sense in either model, which is why it has never been useful
for resolving differences of opinion.

>   What thing
>     is, as far as you can tell, identified by
>        http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

My guess is an HTML rendition of RFC 2616, section 10, as one page
within the context of a specification tree.  But that's just a guess
based on what I know from Dan's intentions and my trust that the
translation from plain text was sufficiently accurate.

>        http://www.uroulette.com/      [ used to pick the others ]

Well, that's a front door.  If you mean the wheel

         http://www.uroulette.com/cgi/rand_link.cgi

it is a resource that's value is always a pseudo-randomly selected URI.
That's why the REST resource is defined as mapping to a set of
representation(s) or URI(s) over time.  The latter are redirects.

>        http://www.avianavenue.com/

says it is a website for the birds

>        http://ont.net/karate          [ 404, but don't let that stop 
> you ]

right, we don't know much of anything about this one.  Note that a
resource with completely inconsistent representations and a resource
that responds with 404 are equally useless.  Some people would claim
that means neither is a resource, but that's just because they are
thinking in the present.

>        http://www.interactivemarketer.com/

domain name squatters aren't very useful resources either, though in
this case the company is providing a default representation of
sponsored search results related to the English words in the hostname.

....Roy
Received on Friday, 31 January 2003 18:00:15 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 26 April 2012 12:47:15 GMT