- From: Roy T.Fielding <fielding@gbiv.com>
- Date: Tue, 21 Aug 2007 13:49:22 -0700
- To: Rhys Lewis <rhys@volantis.com>
- Cc: "'www-tag'" <www-tag@w3.org>
On Aug 21, 2007, at 4:53 AM, Rhys Lewis wrote:
> There is a new version of the editor's draft of the httpRange-14
> finding at [1]. This has been prepared for discussion at the next
> TAG F2F in September.
>
> ...
> [1] http://www.w3.org/2001/tag/doc/httpRange-14/2007-08-31/
> HttpRange-14.html
I am not pleased with this. HTTP is fundamentally about defining a
pure interface protocol in which clients cannot make assumptions
about how resources are implemented and servers cannot know what
clients are intending to do with the representations. That's how we
get the complete lack of coupling between systems.
Yet this draft is almost entirely about a rather speculative (and
mostly inaccurate) model of typical Web resources and a bunch of
incorrect theories about what a client can guess about the resource
implementation on the basis of singular interactions with that
resource. This is exactly why I opposed the httpRange-14 issue as
being such a poorly thought-out view of how HTTP works, and why our
agreed resolution contained none of this incorrect speculation.
The following sentences from the draft are all incorrect:
Dereferencing HTTP URIs
--dereferencing the "http" scheme is defined in RFC 2616
The World Wide Web (Web) is an information space in which the
items of
interest are known as resources.
--the Web is a dynamic graph of relationships among resources
that can be traversed as hypertext, manipulated as a graph,
or entered by reference. These relationships are
expressed by each resource in the form of zero or more
representations that may contain links to resources.
The URIs used in the Web are based on the HTTP [HTTP] scheme.
-- No, all schemes are used in the Web, and that one is called
the "http" and "https" schemes.
A URI uniquely identifies a resource. However, on its own, a URI
is not
enough to provide a resource with a presence on the Web. For a
resouce to
have a Web presence, there must be a means by which it can be
accessed.
HTTP specifies the way in which such access can occur and defines
the
various participants in the process. Until the appropriate steps
have been
taken to create a Web presence for a resource, attempts to access
it will
fail.
-- There is an N:1 relation of URIs to resources. Resources may
be identified by many different URIs, and perhaps many
schemes.
Once a resource has a Web presence, its URI provides the information
necessary to allow it to be accessed.
-- No. For each URI, there exists a defined dereferencing
algorithm (if any dereference is desired) that describes
the basis for requesting authoritative access to that
resource.
Whether or not it is accessible is not known by the URI.
A Web presence allows additional information to be associated
with a URI.
-- So does a lot of things, on and off the Web. In this case,
you mean representations of the resource's current value, so
just say so -- all this walking around the bush is not going
to help the reader.
In some cases the association will be direct and
the additional information will be available directly by
accessing the Web
presence associated with the URI itself.
-- Huh? "accessing the Web presence" sounds like one of those
bad
TV series where actors pretend to communicate with the
departed.
The relationship between a resource and the Web presence that
supports
access to it is important. If an author makes an assertion about a
resource, its Web presence should behave in a manner that
supports that
assertion. To do otherwise would be misleading.
-- No, the Web presence, when there is one, defines the nature of
a resource in the form of maintaining a consistent mapping of
requests to values in accordance with the owner's intended
semantics. If the owner makes consistent mistakes, then the
resource is defined by those mistakes.
Including a link in a Web page is one mechanism that authors have
for
making assertions about resources. The text associated with a
link is an
assertion about the resource that the link identifies. Of course,
in Web
pages, such assertions are meant only for human users.
-- Text association is meant for everything. Google works.
Authorities MAY create a Web presence for any resource whose URI
they own.
-- that conflicts with webarch. They SHOULD.
Many resources that have a Web presence are actually documents.
-- no, some resources always have a value that corresponds to the
generalized idea of a "document" in virtual form.
Documents provide physical representations of bodies of information.
-- no, they are an abstraction that can be realized on paper or
bits or sound or ...
A document might, for example, provide a description of the planet
Mars (see for example [MARS]).
-- it might contain such a description.
URIs allow documents to be uniquely identified as resources in
the Web.
-- that is ambiguous
In addition, their Web presence allows the information they embody
to be accessed and retrieved.
-- resources may provide representations. Representations must
be consistent with the resource value at that time. If the
value is a document, then the representation will be in one
of the many formats that can be used to represent a document.
Normally, such retrieval is direct.
-- no, it is almost never "direct". indirection is everywhere.
The resource itself consists of a body of information that is
amenable to transmission across the Web within suitable messages.
-- no, the resource is a continuum over time -- only its value
at any given point in time can consist of a body of
information.
In general, we call such resources information resources (see for
example
[AWWW] section 2.2) because their essence is information.
-- their essence is a function of information over time
To allow transmission across the Web, it must be possible to
represent the
information associated with a resource, such as a document, in a
suitable
form.
-- "across the Web" has redefined the Web
For example, HTTP, specifies that the information must be
represented as a stream of octets.
-- no, it doesn't. HTTP specifies that entities are delimited on
octet boundaries.
In addition, the person or system
making the request, for the information associated with the
resource, may
also place constraints on the representations that are considered
acceptable. For example, two different requesters might ask for the
information in different languages. One might specify Italian, while
another might specify Japanese. The mechanism, by which the Web
presence
of a resource can be accessed, is able to support such constraints.
-- it might be, but that isn't relevant.
Whether the requested representations are actually available for
a given
resource depends on the nature of the materials provided in
support of its
Web presence.
-- whatever happened to being "on the Web"? In any case, this
grossly oversimplifies HTTP.
When we use the term representation, we mean specifically a form
of the
information, associated with a resource, that can be transmitted
across
the Web.
-- why? I can build a Rube Goldberg book retrieval system based
on URI dereferencing. I could do a more global version of
that
using Amazon, were it not for the minor detail of payment.
The architecture of the Web [AWWW] clearly separates the notion
of a resource from that of the representations which may be
provided by
its Web presence.
-- huh? I think you mean that they are different, but co-
dependent.
Although we recognize that representations are returned in
response to
requests made to the Web presence of a resource, for brevity,
it's often
convenient to talk about the representations of a resource.
-- representations are returned by the server responsible for
mapping the resource identifier to representations according
to the defined semantics of the identified resource. Is that
what you mean by Web presence? It is less precise.
Documents are not the only kind of information resource. The
information
associated with some resources is provided by computing systems.
These
perform work when the Web presence of the resource is accessed. Some
systems might be able to retrieve data from sources that do not
themselves
have a Web presence. They may also perform computations in order to
assimilate the information that will ultimately be returned to the
requester in a suitable representation.
-- What on earth does this have to do with anything? The
implementation is irrelevant. The entire section is wrong.
Systems, like the one provided by Joan's bank, which process
requests and
dyamically create representations are clearly not themselves
documents.
-- Apparently, the notion of "document" has redefined itself.
Probably the most widely recognized type of information resource
on the
Web currently is the Web page.
-- I feel like Mr. Bill. NOOOoooooooooooooooo....
I have no time to continue with this. I suggest that the TAG drop
this action item and move on.
Cheers,
Roy T. Fielding <http://roy.gbiv.com/>
Chief Scientist, Day Software <http://www.day.com/>
Received on Tuesday, 21 August 2007 20:49:34 UTC