W3C home > Mailing lists > Public > www-tag@w3.org > July 2002

Re: resource and representation

From: Roy T. Fielding <fielding@apache.org>
Date: Mon, 8 Jul 2002 15:06:18 -0700
Cc: WWW TAG <www-tag@w3.org>
To: "Bullard, Claude L (Len)" <clbullar@ingr.com>
Message-Id: <ED818B6A-92BE-11D6-8583-000393753936@apache.org>

On Monday, July 8, 2002, at 06:36  AM, Bullard, Claude L (Len) wrote:
> Close.  Identity is a named value returned
> by a process of identification. That's all.

An identifier is a name returned by a process of identification.
Identity can exist both prior to, and as a side-effect of,
identification.  A well-chosen system of identification provides
an N-to-1 mapping of identifiers to a noun/object/resource/thing
with an identity: a sameness of essential character.  Identity
is only a returned value in the sense that it is the set of
essential characteristics over all time that will be observed
to be true for any representative value of the identification
function that is examined at some instance in time.

That is also why, in most cases, the "identity" associated with a
URI is defined more by the way people use the URI than by the actual
identification mechanism used by the origin.  People place semantics
on a given resource according to the consistent set of characteristics
they observe within its representations, often in spite of the
original author's intentions.  Hence, Google's ranking algorithm.

    Main Entry:	idenĚtiĚty
    1 a : sameness of essential or generic character in different instances
      b : sameness in all that constitutes the objective reality of a thing 
    2 a : the distinguishing character or personality of an individual : 
      b : the relation established by psychological identification
    3 : the condition of being the same with something described or
        asserted <establish the identity of stolen goods>
    4 : an equation that is satisfied for all values of the symbols

That sameness of mapping is the desired end-point of identification
AND a characteristic of that being identified.  For example, think of
a clock as a resource.  When we perform a GET action (in life or on Web)
on a clock resource, we don't receive back the clock.  What we receive
is a representation of the current state of the clock, which has value
to us because we know that the semantics of a clock resource is a
representation of time relative to its reference point (set time) and
the working of its internal mechanisms.  That is its sameness -- its
identity as a resource.

Universal applicability of identity is not necessary on the Web.
If the reference time is the same as that of the viewer, and the
mechanism is believed to be accurate, then performing the GET also
allows the recipient to learn their "current time" by viewing the
representation relative to its age.  Such semantics are useful even
if they are not universal.  If others want to identify a clock with
universal semantics, then they must restrict the identification
function to map to a UTC clock, or at least a clock that describes
its own reference point such that the viewer can calculate the
difference relative to their own understanding of time.  That is
a different resource even if it is the same physical clock.

URI are identifiers of resources.  GET is a request for a
representation of the current state of the identified resource.
The server does not transfer the resource itself because that's
not what the client requested; the client does not want the
mechanism that implements the resource over all time -- only the
current state of the resource at that instant in time.  That's
what allows the client, and the transfer protocol, to be simple.

If the mechanism is itself a resource, then the mechanism will
have its own, separate URI, and doing a GET on that URI will
transfer a copy of the mechanism at that instant in time.
Likewise, we could define separate URI for the clock's big-hand,
little-hand, seconds-hand, moon-dial, PRAM, etc. -- anything that
has identity.  Whether or not those other resources are accessible,
and with what methods, is a policy issue for the origin rather than
a limitation of the interface.

Received on Monday, 8 July 2002 18:05:27 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:55:52 UTC