You’ve probably gotten used to referring to Internet addresses as URLs. A URL is a Uniform Resource Locator, like “http://www.example.com/something.html”. They encompass locations which are not web pages, as well: an ftp location such as “ftp://admin:secret@example.com:21/stuff” is also a URL.
So, what’s a URI?
URI has been creeping into The Literature for some time, and from context alone it would be pretty easy to assume that it is simply synonymous with “URL” — and for all intents and purposes, when talking about the web, that’s a safe assumption. It actually has an expanded meaning, however; URIs encompass both URLs and a convention called “URN”.
A URI is a “Uniform Resource Indentifier”. As such a URI may be either a URL (traditional Internet address/location) or a URN.
Okay, you may say: what the heck is a URN, and why should I care? The first question is easier: a URN is a “Unified Resource Name”. While a URL refers to where something is, a URN refers to what it is.
From The Literature (RFC 1737):
The purpose or function of a URN is to provide a globally unique, persistent identifier used for recognition, for access to characteristics of the resource or for access to the resource itself.
A URN may or may not have a corresponding URL; the RFC further notes that:
for URNs that have corresponding URLs, there must be some feasible mechanism to translate a URN to a URL.
What does a URN look like? I’m glad you asked. It looks like this (from RFC 2141):
“urn:” <NID> “:” <NSS>
where <NID> is the Namespace Identifier, and <NID> is the Namespace Specific String.
Wikipedia’s URN pages gives examples such as “urn:isbn:0451450523″, which would identify Peter S. Beagle’s The Last Unicorn by it’s book number.
The money question is one I asked above: why should we care? Is anyone using these, in the real world, and is there any reason you or I actually need to know this?
Who is using them, and how, are difficult questions to answer; the IETF seems to be using them, or at least, to have a group responsible for thinking about using them.
Why should you know about the above information? Well, I suppose one simple reason is simply to know the “actual” difference between a URI and a URL: a URI is a superset which contains all URLs and all URNs.
Other than that, I can only assume that as the Internet continues to develop, and the amount of information available through it continues to multiply, conventions such as the URN may become an increasingly important way of referring to various resources, especially if they can be automatically converted into corresponding URLs.
