Uniform Resource Name: Difference between revisions
No edit summary |
No edit summary |
||
Line 6: | Line 6: | ||
* URNs are used for identification, |
* URNs are used for identification, |
||
* |
* [[URC]]s for including meta-information. |
||
* URLs for locating or finding resources. |
* URLs for locating or finding resources. |
||
Revision as of 01:14, 13 August 2007
A Uniform Resource Name (URN) is a Uniform Resource Identifier (URI) that uses the urn scheme, and does not imply availability of the identified resource. Both URNs (names) and URLs (locators) are URIs, and a particular URI may be a name and a locator at the same time.
The Functional Requirements for Uniform Resource Names are described in RFC 1737. The URNs are part of a larger Internet information architecture which is composed of URNs, Uniform Resource Characteristics (URCs), and Uniform Resource Locators (URLs). Each plays a specific role:
- URNs are used for identification,
- URCs for including meta-information.
- URLs for locating or finding resources.
RFC 2141 ("URN Syntax") says:
- Uniform Resource Names (URNs) are intended to serve as persistent, location-independent resource identifiers and are designed to make it easy to map other namespaces (that share the properties of URNs) into URN-space. Therefore, the URN syntax provides a means to encode character data in a form that can be sent in existing protocols, transcribed on most keyboards, etc.
It is worth noting that, as stated in RFC 3986 ("Uniform Resource Identifier Generic Syntax"),
- The term "Uniform Resource Name" (URN) has been used historically to refer to both URIs under the "urn" scheme (RFC 2141), which are required to remain globally unique and persistent even when the resource ceases to exist or becomes unavailable, and to any other URI with the properties of a name.
URN Syntax
RFC 2141 (dated May 1997 and still classified as needing requests discussion and suggestions for improvements) describe in BNF the syntax of URNs as:
<URN> ::= "urn:" <NID> ":" <NSS>
where <NID> is the Namespace Identifier, and <NSS> is the Namespace Specific String. Phrases enclosed in quotes are REQUIRED. The leading "urn:" sequence is case-insensitive. The Namespace ID determines the syntactic interpretation of the Namespace Specific String.
Comparison with URLs
A URN is like a person's name, while a URL is like their street address. The URN defines something's identity, while the URL provides a method for finding something. Essentially, "what" vs. "where".
URNs are often compared to the ISBN system for uniquely identifying books (and in fact you can encode an ISBN as a URN). Having a book's unique identifier lets you discuss the book, such as whether you've read it, enjoyed it, etc. To actually read the book, however, you need its location (e.g. "on the bedside table"). So URNs and URLs are often complementary; for example, you might discuss an RFC using both concepts: "you can find urn:ietf:rfc:3187 (URN) over at http://tools.ietf.org/html/rfc3187.html (URL)."
Examples
Non-standard usage
The following are examples for non-standard URNs, i.e. identifiers that don't use officially registered namespaces and thus are invalid URNs in terms of RFC 2141 (URN Syntax) and RFC 3406 (Uniform Resource Names (URN) Namespace Definition Mechanisms).
- urn:www.agxml.org:schemas:all:2:0
- A non-standard URN representing a namespace for Schema "Agricultural Markup Language 2.0 for Grain and Oilseed Business".
- urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C
- A non-standard URN representing a specific MP3 file of the I have a dream speech by Martin Luther King.
- urn:tree:tiger:BL5OM7M75DWHAXMFZFJ23MU3LVMRXKFO6HTGUTY
- A non-standard URN representing the same MP3 file. Both these schemes can be used to look up data about specific files, for example using Bitzi.
- urn:sici:1046-8188(199501)13:1%3C69:FTTHBI%3E2.0.TX;2-4
- A specific article in the journal "ACM Transactions on Information Systems", identified by its percent-encoded SICI code.[1]
See also
- DOI (digital object identifier)
- PURL - Persistent Uniform Resource Locator
- XRI – Extensible Resource Identifier
- Internet Assigned Numbers Authority
- Life Science Identifiers
External links
- Uniform Resource Names Charter — The IETF's Uniform Resource Names working group
- IANA URN namespace assignments