W3C

Revised intro, abstract for Architecture of the World Wide Web

Editor:
Ian Jacobs, W3C

Status

This draft of the Architecture Document abstract and introduction is derived from the 1 August 2003 Editor's Draft. This draft, for TAG consideration, attempts to keep the essential parts of text from Roy Fielding, while taking into account all of the comments from Dan Connolly and comments from Tim Bray.

Abstract

The World Wide Web is an information system in which a network of resources is established through hypertext-style links. Web Architecture defines the desired operational behavior of agents within this information system and for protocols that govern interactions between these agents. The Web architecture is influenced by social requirements and software engineering principles, leading to design choices that constrain the behavior of the Web in order for the system to achieve desired properties: an efficient, scalable, shared information space that can continue to grow indefinitely across languages, cultures, and information media. This document is organized to reflect the three dimensions of Web architecture: identification, interaction, and representation.

1. Introduction

The World Wide Web (WWW, or simply Web) is an information system in which a network of resources is established through hypertext-style links (discussed in the section on representations).

A vacation travel scenario is used throughout this document to illustrate some typical behavior and interactions of Web agents -- software acting in this system on behalf of a person, entity, or process. Agents include servers, proxies, browsers, spiders, multimedia players, and other user agents (software acting on behalf of a person).

This scenario (elaborated on throughout the document) illustrates the three architectural divisions of the Web that are discussed in this document:

  1. Identification. Each resource is identified by a Uniform Resource Identifier (URI). In this travel scenario, the resource involves the weather in Oaxaca and the URI is "http://weather.example.com/oaxaca".
  2. Interaction. Web agents exchange information via messages; these messages arise as the result of actions requested by a user or called for by a rendering engine while processing hypermedia-aware data formats. Protocols define the syntax and semantics of agent interactions, as well as the sequence of interactions expected for a given task. In the travel scenario, Tatiana uses her browser to perform a retrieval action for the identified resource. The browser uses its configuration2 to determine how to locate the identified information, which might be via a cache of prior retrieval actions, by contacting an intermediary (e.g., a proxy server), or by direct access to the information authority defined by the URI. In the travel scenario, Tatiana's browser uses HTTP3 to retrieve a representation from the origin server at "weather.example.com".
  3. Representation. Messages carry representations of resource state. A representation communicates information through a non-exclusive set of data formats, used separately or in combination (including XHTML, CSS, PNG, XLink, RDF/XML, SVG, and SMIL animation). In this scenario, Tatiana's browser receives representations in the form of an XHTML document and several SVG weather map images. The browser interprets the XHTML representation data, which in turn call for retrieval of weather maps through reference of their URIs, which results in rendering the SVG images.