- From: Roy T. Fielding <fielding@gbiv.com>
- Date: Fri, 15 Oct 2004 23:30:22 -0700
- To: noah_mendelsohn@us.ibm.com
- Cc: www-tag@w3.org
On Oct 14, 2004, at 12:01 PM, noah_mendelsohn@us.ibm.com wrote:
> For those not at our meeting, the intention was that I would fork a
> private copy of the document and edit it to show proposed changes.
> This
> note fulfulls that action; a revised draft is attached.
As much as I like seeing the changes in context, I'll extract them
in order to make comments. And since it takes me a day to complete
a single comment, I am going to split them into chunks.
Sec 1, scenario intro:
2. Interaction. Web agents communicate the information state
of a resource using protocols. Protocols define the syntax
and semantics of messages exchanged by agents over a network.
By typing the URI into her browser, or clicking on a hypertext
link, Nadia tells her browser to request the information
state of the resource referenced by the URI in the link.
In this example, the browser sends an HTTP GET request to
the server at "weather.example.com" and the server sends
back a representation of the information state of the resource.
In this example, the representation includes XHTML data and
metadata such as the Internet media type of the data,
"application/xhtml+xml". Note: In this document, the noun
"representation" means "[{NOAH>} Machine readable data that
encodes resource state information". Web representations
do not necessarily describe the resource, portray a
likeness of the resource, or represent the resource in
other colloquial {<NOAH}] senses of the word "represent".
I am not fond of the original paragraph, but it makes sense in the
limited extent of describing this specific scenario. I think the
attempt to describe interactions-in-general within the scenario intro
is a mistake, and Noah's change only highlights it. Representations
do represent the resource in the colloquial senses of that word,
so I have no idea why that was added to the introduction.
What I would suggest is:
2. Interaction. Web agents communicate using standardized protocols
that enable interaction through the exchange of messages that
adhere to a defined syntax and semantics. By entering a URI into
a retrieval dialog or selecting a hypertext link, Nadia tells her
browser to perform a retrieval action for the resource identified
by the URI. In this example, the browser sends an HTTP GET request
to the server at "weather.example.com", via TCP/IP port 80, and the
server sends back a message containing what it determines to be
a representation of the resource as of the time that representation
was generated. Note that this example is specific to hypertext
browsing of information -- other kinds of interaction are possible,
both within browsers and through the use of other types of Web
agent;
our example is intended to illustrate one common interaction, not
define the range of possible interactions or limit the ways in
which agents might use the Web.
[There is no reason to define representation here. However, the next
paragraph (that Noah did not modify) should be changed accordingly:]
3. Formats. Most protocols used for representation retrieval and/or
submission make use of a sequence of one or more messages, which
taken together contain a payload of representation data and
metadata,
to transfer the representation between agents. Each interaction
protocol defines its own mechanisms for determining the format of
data and metadata transferred. HTTP, for example, uses the
"Content-Type" and "Content-Encoding" header fields to indicate
the format of representation data. In order to maximize
interoperability and platform independence, representation data
is usually formatted according to a standardized data format,
or several standardized formats in cases such as layered encodings,
package formats, and multiple data streams. In this scenario,
the representation is transferred in the XHTML data format, as
would be indicated by a "Content-Type" header field containing
the value "application/xhtml+xml", a registered Internet media type
that indicates the representation data should be processed
according
to the XHTML specification.
[The story doesn't mention any maps, but given the old content of the
paragraph (3) it must have at one point referred to in-line map images
in SVG format. If that part is added back, then we should also say:]
Nadia's browser is configured and programmed to interpret the
receipt of an "application/xhtml+xml" typed representation as an
instruction to render the content of that representation according
to the XHTML rendering model, including any subsidiary interactions
(such as requests for external stylesheets or in-line images)
called for by the representation. In the scenario, the XHTML
representation data received from the initial request instructs
Nadia's browser to also retrieve and render in-line the weather
maps, each identified by a URI and thus causing an additional
retrieval action, resulting in additional representations that
are processed by the browser according to their own data formats
(e.g., "application/svg+xml" indicates the SVG data format), and
this process continues until all of the data formats have been
rendered. The result of all of this processing, once the browser
has reached an application steady-state that completes Nadia's
initial requested action, is commonly referred to as a "Web page".
In summary, if we are going to describe the three architectural bases
of the Web in the introduction, then we should do it right. Actually,
the current "Story" doesn't have any of these details within the
introduction, so the whole notion that it somehow "illustrates" them
seems a bit out of place. I think it would be best to add a few more
details to the story to match the above paragraphs.
For the second edition, we desperately need additional story lines
that provide meaningful scenarios for the semantic web and web services.
It is near impossible to describe an architecture that is inclusive
of them without at least some use cases that are distinct from browsing.
Cheers,
Roy T. Fielding <http://roy.gbiv.com/>
Chief Scientist, Day Software <http://www.day.com/>
Received on Saturday, 16 October 2004 06:30:57 UTC