This talk gives an overview of Web Architecture and its potential for future developments, with examples.

The original WWW consisted of three basic technologies, URIs, HTML, and HTTP. This simple setup led to the almost explosive and still continuing spread of the WWW as a network of interlinked Web pages. However, it also led to a lot of ad-hoc additions not necessarily aligned with the overall Web architecture, and to an over-emphasis on graphical appearance at the expense of device independence and accessibility. With the increasing use of XML for data interchange between software, data contents again becomes more importance that appearance only.

At the base of the Web Architecture there are URIs and Unicode (ISO 10646). Unicode is indispensable for identifying characters and transmitting texts worldwide. URIs identify resources, which, starting with Web pages, can be just about anything. URIs assure extensibility and interoperability of concepts and protocols. Any more specific kind of identifiers leads to fragmentation.

The next layer of Web Architecture consists of XML (including XML Namespaces). XML allows to represent and transmit structured documents and data. DTDs, XML Schema, the XML Information Set (abstract description), the DOM (API), XPath, XPointer, XSLT (transformations), and XML Query provide ways to describe, access, and transform XML. XLink, XHTML, SVG, SMIL, MathML, XForms, and others are general purpose XML vocabularies; there are also many special purpose XML vocabularies developed outside W3C. CSS and XSL serve to present XML to the human user.

These layers deal well with data transfer, manipulation, and presentation. The Semantic Web deals with data representation and interpretation. Rather than searching for words, it should become possible to search for concepts. Rather than having the human user to extract and combine information from web pages, it should become possible for the computer network to do calculations and inference. The Semantic Web is a long-term goal to change and improve the way in which computers and computers, and computers and users, work together.