Using and handling URIs

An URI must first be resolved before it can be used. Its resolution can either lead to static or dynamic content and may optionally provide the identity of the referenced resource.

URI resolution

Resolving a URI means dereferencing the URI in order to retrieve the referenced resource or its content, depending of the nature of this resource. In some cases, it first has to be put into context. For example when the URI is relative or has no scheme, it cannot be used as-is. Thus the original URI would first be resolved against a given base to obtain an absolute URI. The base is itself a URI, hence the name: base URI.

Static content

An URI may refer to static content. In such a case, the URI is just a reference to an already existing file or content resource.

Dynamic content

In some cases, an URI may be related to dynamic content. Here the content obtained when resolving the URI is actually generated on-demand according to parameters specified through the various URI fields (e.g. query parameters, fragment).

Resource identity

An URI is not a resource by itself. An URI is just a reference to something that may either already exists or be created on demand. As such, there might exist several URIs with possibly distinct schemes that refer to the same resource when resolved. Moreover, depending on the context, a given URI will resolve to some content or another.