URIs without structure are meaningless

2010-06-06 @ 12:25#

A URI, by itself is a meaningless piece of data:


You can add hypermedia meaning to the URI by giving it structure. Here's one example:

<img src="http://www.example.org/q12w3e4r4t5" />

Here's another example of structure that provides the same URI with a different meaning:

<a href="http://www.example.org/q12w3e4r4t5">Home</a>

Here's an example of the same URI w/ a more complex structure and another meaning:

<form action="http:/www.example.org/q1w2e3r4t5">
  <input name="search" />
  <input type="submit" />

A URI is not a link

A URI is not a "link" until it has been given that meaning via some structure. Sometimes that structure is provided by humans intuitively. The URI below can be "understood" by most humans as it is easy to ascribe "meaning" to it based on the contents of the URI itself.


Machines (user-agents, client application, Web browsers, etc.) have no intuition. To them, URIs without structure as just data bits; noise.

Hypermedia Semantics

Methods for adding meaning to URIs (i.e. turning them into "links") within messages can be called Hypermedia Semantics (HS). The HS details are handled by the media-type in which the messages is encoded. It is important to note that the HS value of a media-type can be found in the native functionality of the type; the definition|documentation of the media-type. Media-types that depend solely on non-native elements to provide HS such as code-on-demand are not hypermedia types at all.

Each hypermedia-type ( XHTML, SMIL, VoiceXML, etc.) has native Hypermedia Semantics appropriate to the tasks for which the media-type was designed. The more rich the expression of URIs (the wider the array of meaning that can be ascribed to the links), the more powerful the hypermedia-type.

The Web is driven by hypermedia

Hypermedia-types with a low HS value are limited in their ability to participate on the Web. Media-types that are devoid of native HS are not hypermedia-types at all and are reduced to the role of static data containers dependent on other media-types with higher HS value to add meaning to their URIs.