From LQWiki
An URI (Uniform Resource Identifier) is a standard string format for identifying objects. It was designed to identify resources on the WWW, but can be used for anything.
Specific subsets
- URLs are URI that define the location of an object through some protocol.
- URNs define globally unique and persistent (thus location independent) names for resources.
Format
The format is defined in RFC 1630.
A quick overview of the format:
There are two kinds of URI, partial/relative URIs and normal/full URIs.
The full URI format consists of two parts, a scheme and a path part separated by a colon (:).
In the "path" part special delimiters can be used:
- / -- delimiter used to indicate a hierarchical relation between components of the path.
- # -- delimiter between the location to an object and a location 'inside' (a fragment of) an object.
- ? -- delimiter between the location of an object and an 'action' to be performed on an object.
The characters in an URI are encoded in 7-bits ASCII, the % character followed by two hexadecimal digits is defined to escape characters (the two digits specify the character number in the ISO-8859-1, a.k.a. Latin-1, encoding). Whitespace is allowed in an URI, but usually is escaped to avoid problems with applications using them. A partial or relative URI is an URI without a scheme part.
Further specification of the syntax and semantics of the "path" is dependent on the scheme used. The "scheme" part is a name that refers to a certain specification and are centrally registered and managed by the IANA. Example of registered scheme names are: http, ftp, gopher, mailto, news, telnet, urn, file. Full list can be found here.

This page is available under a