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

Re: Determining what a URI identifies

From: Roy T. Fielding <fielding@apache.org>
Date: Sun, 3 Nov 2002 23:59:35 -0800
Cc: <www-tag@w3.org>
To: "Larry Masinter" <LMM@acm.org>
Message-Id: <5BBEA08A-EFCB-11D6-A757-000393753936@apache.org>

Well, yes and no.

> A simpler design is:
>
> What a URI determines is defined by the scheme. The definition
> of a URI scheme must include a clear definition of what strings
> that start with that scheme identify. URIs that start with
> "http" identify resources that are accessed via the HTTP protocol,
> using the simple meaning that
>    http://host.example.org/path
> identifies the network resource that one connects to speaking
> the HTTP protocol to host "host.example.org" with path component
> "/path".

That is certainly simpler, but is also incorrect.  A URI doesn't
determine anything, nor do "http" URI necessarily require a network,
access, or a resource that readily responds via HTTP.  The "http" URI,
in and of itself, is a federated naming syntax that makes use of
the properties of DNS, TCP, and HTTP for the purpose of establishing
a globally unique identifier.  An "http" URI is valid even if the DNS
name is not registered or the HTTP server never installed.

> That's simple. You can then go on to say -- given this
> definition of identification -- that URIs are used in some
> contexts to indicate something other than the resource that the
> URI identifies. "Indication" is a different act than "Identification".

Actually, the dictionary definition of an identifier is one that
identifies, and identify has two equal definitions: establishing
identity of, and becoming identified with.  Mark is saying that a
variety of things can be identified with a URI, and you are saying
that a URI establishes the identity of a network resource.

When *used* as the target of a hypertext link, an "http" URI
identifies both an information resource and an access mechanism for
obtaining representations of that resource from its HTTP origin server.
Neither one defines the identity of the resource.  HTTP never defines
identity -- it hides it, always, and on purpose.

> TimBL can use "http://www.w3.org/Consortium" to indicate the
> W3C organization if he likes, and you can make up languages
> in which that is true. But it doesn't change the nature of
> what is actually identified; what's identified is the network
> resource; and use varies.

I disagree.  The Web is a shared information space that is linked
together through explicit use of hypertext relationships.  An extremely
small percentage of those relationships are intended to identify ports
on a network device.  Instead, the authors intend to identify the
information expected from future access -- the resource -- and do
so using the best identifier they happen to have available: one that
is consistently shown to be "identified with" the information that
they wish to identify.  The HTTP mechanism activated by use of an
"http" URI (or any URI scheme via proxy) simply provides an easy and
direct means for meeting the needs of that use, and is no more
definitive of identity than an HTTP-to-Gopher gateway would be to
the resources it makes available.

....Roy
Received on Monday, 4 November 2002 02:59:45 GMT

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