Uniform Resource Name

Last updated

A Uniform Resource Name (URN) is a Uniform Resource Identifier (URI) that uses the urn scheme. URNs are globally unique persistent identifiers assigned within defined namespaces so they will be available for a long period of time, even after the resource which they identify ceases to exist or becomes unavailable. [1] URNs cannot be used to directly locate an item and need not be resolvable, as they are simply templates that another parser may use to find an item.

Contents

URIs, URNs, and URLs

URNs were originally conceived to be part of a three-part information architecture for the Internet, along with Uniform Resource Locators (URLs) and Uniform Resource Characteristics (URCs), a metadata framework. As described in RFC 1737 (1994), [2] and later in RFC 2141 (1997), [3] URNs were distinguished from URLs, which identify resources by specifying their locations in the context of a particular access protocol, such as HTTP or FTP. In contrast, URNs were conceived as persistent, location-independent identifiers assigned within defined namespaces, typically by an authority responsible for the namespace, so that they are globally unique and persistent over long periods of time, even after the resource which they identify ceases to exist or becomes unavailable. [1]

URCs never progressed past the conceptual stage, [4] and other technologies such as the Resource Description Framework later took their place. Since RFC 3986 [5] in 2005, use of the terms "Uniform Resource Name" and "Uniform Resource Locator" has been deprecated in technical standards in favor of the term Uniform Resource Identifier (URI), which encompasses both, a view proposed in 2001 by a joint working group between the World Wide Web Consortium (W3C) and Internet Engineering Task Force (IETF). [4]

A URI is a string of characters used to identify or name a resource on the internet. URIs are used in many Internet protocols to refer to and access information resources. URI schemes include the http and ftp protocols, as well as hundreds of others.

In the "contemporary view", as it is called, all URIs identify or name resources, perhaps uniquely and persistently, with some of them also being "locators" which are resolvable in conjunction with a specified protocol to a representation of the resources.

Other URIs are not locators and are not necessarily resolvable within the bounds of the systems where they are found. These URIs may serve as names or identifiers of resources. Since resources can move, opaque identifiers which are not locators and are not bound to particular locations are arguably more likely than identifiers which are locators to remain unique and persistent over time. But whether a URI is resolvable depends on many operational and practical details, irrespective of whether it is called a "name" or a "locator". In the contemporary view, there is no bright line between "names" and "locators".

In accord with this way of thinking, the distinction between Uniform Resource Names and Uniform Resource Locators is now no longer used in formal Internet Engineering Task Force technical standards, though the latter term, URL, is still in wide informal use.

The term "URN" continues now as one of more than a hundred URI "schemes", urn:, paralleling http:, ftp:, and so forth. URIs of the urn: scheme are not locators, are not required to be associated with a particular protocol or access method, and need not be resolvable. They should be assigned by a procedure which provides some assurance that they will remain unique and identify the same resource persistently over a prolonged period. Some namespaces under the urn: scheme, such as urn:uuid: assign identifiers in a manner which does not require a registration authority, but most of them do. A typical URN namespace is urn:isbn , for International Standard Book Numbers. This view is continued in RFC 8141 (2017). [1]

There are other URI schemes, such as tag: , info: (now largely deprecated), and ni: [6] which are similar to the urn: scheme in not being locators and not being associated with particular resolution or access protocols.

Syntax

The syntax of a urn: scheme URI is represented in the augmented Backus–Naur form as: [5] [7]

namestring=assigned-name[rq-components]["#"f-component]assigned-name="urn"":"NID":"NSSNID=(alphanum)0*30(ldh)(alphanum)ldh=alphanum/"-"NSS=pchar*(pchar/"/")rq-components=["?+"r-component]["?="q-component]r-component=pchar*(pchar/"/"/"?")q-component=pchar*(pchar/"/"/"?")f-component=fragment; general URI syntax rules (RFC3986)fragment=*(pchar/"/"/"?")pchar=unreserved/pct-encoded/sub-delims/":"/"@"pct-encoded="%"HEXDIGHEXDIGunreserved=ALPHA/DIGIT/"-"/"."/"_"/"~"sub-delims="!"/"$"/"&"/"'"/"("/")"/"*"/"+"/","/";"/"="alphanum=ALPHA/DIGIT; obsolete, usage is deprecated

or, in the form of a syntax diagram, as:

URN syntax diagram - namestring.png

In 2017, the syntax for URNs was updated: [1]

Namespaces

In order to ensure the global uniqueness of URN namespaces, their identifiers (NIDs) are required to be registered with the IANA. Registered namespaces may be "formal" or "informal". An exception to the registration requirement was formerly made for "experimental namespaces", [8] since rescinded by RFC 8141. [1]

Formal

Approximately sixty formal URN namespace identifiers have been registered. These are namespaces where Internet users are expected to benefit from their publication, [1] and are subject to several restrictions. They must:

Informal

Informal namespaces are registered with IANA and assigned a number sequence (chosen by IANA on a first-come-first-served basis) as an identifier, [1] in the format

"urn-" <number>

Informal namespaces are fully fledged URN namespaces and can be registered in global registration services. [1]

Experimental

An exception to the registration requirement was formerly made for "experimental namespaces". [8] However, following the deprecation of the "X-" notation for new identifier names, [9] RFC 8141 [1] did away with experimental URN namespaces, indicating a preference for use of the urn:example namespace where appropriate. [10]

Examples

URNcorresponds to
urn:isbn:0451450523The 1968 book The Last Unicorn , identified by its International Standard Book Number.
urn:isan:0000-0000-2CEA-0000-1-0000-0000-YThe 2002 film Spider-Man , identified by its International Standard Audiovisual Number.
urn:ISSN:0167-6423The scientific journal Science of Computer Programming, identified by its International Standard Serial Number.
urn:ietf:rfc:2648The IETF's RFC 2648.
urn:mpeg:mpeg7:schema:2001The default namespace rules for MPEG-7 video metadata.
urn:oid:2.16.840The OID for the United States.
urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66A version 1 UUID.
urn:nbn:de:bvb:19-146642A National Bibliography Number for a document, indicating country (de), regional network (bvb = Bibliotheksverbund Bayern ), library number (19) and document number.
urn:lex:eu:council:directive:2010-03-09;2010-19-UEA directive of the European Union, using the proposed Lex URN namespace.
urn:lsid:zoobank.org:pub:CDC8D258-8F57-41DC-B560-247E17D3DC8CA Life Science Identifiers that may be resolved to http://zoobank.org/urn:lsid:zoobank.org:pub:CDC8D258-8F57-41DC-B560-247E17D3DC8C .
urn:epc:class:lgtin:4012345.012345.998877 Global Trade Item Number with lot/batch number. As defined by Tag Data Standard [11] (TDS). See more examples at EPC Identification Keys.
urn:epc:id:sgtin:0614141.112345.400 Global Trade Item Number with an individual serial number
urn:epc:id:sscc:0614141.1234567890 Serial Shipping Container Code
urn:epc:id:sgln:0614141.12345.400 Global Location Number with extension
urn:epc:id:bic:CSQU3054383BIC Intermodal container Code as per ISO 6346
urn:epc:id:imovn:9176187 IMO Vessel Number of marine vessels
urn:epc:id:gdti:0614141.12345.400 Global Document Type Identifier of a document instance
urn:mrn:iala:aton:us:1234.5Identifier for Marine Aids to Navigation
urn:mrn:iala:vts:ca:ecaregIdentifier for Vessel Traffic Services
urn:mrn:iala:wwy:us:atl:chba:potriIdentifier for Waterways
urn:mrn:iala:pub:g1143Identifier for IALA publications
urn:microsoft:adfs:claimsxrayIdentifier for federated identity; this example is from Claims X-Ray [12]
urn:eic:10X1001A1001A450 European Network of Transmission System Operators for Electricity (ENTSO-E), identified by its Energy Identification Code

See also

Related Research Articles

<span class="mw-page-title-main">HTTP</span> Application protocol for distributed, collaborative, hypermedia information systems

The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, where hypertext documents include hyperlinks to other resources that the user can easily access, for example by a mouse click or by tapping the screen in a web browser.

The Session Initiation Protocol (SIP) is a signaling protocol used for initiating, maintaining, and terminating communication sessions that include voice, video and messaging applications. SIP is used in Internet telephony, in private IP telephone systems, as well as mobile phone calling over LTE (VoLTE).

A Uniform Resource Identifier (URI) is a unique sequence of characters that identifies a logical or physical resource used by web technologies. URIs may be used to identify anything, including real-world objects, such as people and places, concepts, or information resources such as web pages and books. Some URIs provide a means of locating and retrieving information resources on a network ; these are Uniform Resource Locators (URLs). A URL provides the location of the resource. A URI identifies the resource by name at the specified location or URL. Other URIs provide only a unique name, without a means of locating or retrieving the resource or information about it; these are Uniform Resource Names (URNs). The web technologies that use URIs are not limited to web browsers. URIs are used to identify anything described using the Resource Description Framework (RDF), for example, concepts that are part of an ontology defined using the Web Ontology Language (OWL), and people who are described using the Friend of a Friend vocabulary would each have an individual URI.

<span class="mw-page-title-main">Digital object identifier</span> ISO standard unique string identifier for a digital object

A digital object identifier (DOI) is a persistent identifier or handle used to uniquely identify various objects, standardized by the International Organization for Standardization (ISO). DOIs are an implementation of the Handle System; they also fit within the URI system. They are widely used to identify academic, professional, and government information, such as journal articles, research reports, data sets, and official publications. DOIs have also been used to identify other types of information resources, such as commercial videos.

A persistent uniform resource locator (PURL) is a uniform resource locator (URL) that is used to redirect to the location of the requested web resource. PURLs redirect HTTP clients using HTTP status codes.

In computer hypertext, a URI fragment is a string of characters that refers to a resource that is subordinate to another, primary resource. The primary resource is identified by a Uniform Resource Identifier (URI), and the fragment identifier points to the subordinate resource.

URL encoding, officially known as percent-encoding, is a method to encode arbitrary data in a Uniform Resource Identifier (URI) using only the limited US-ASCII characters legal within a URI. Although it is known as URL encoding, it is also used more generally within the main Uniform Resource Identifier (URI) set, which includes both Uniform Resource Locator (URL) and Uniform Resource Name (URN). As such, it is also used in the preparation of data of the application/x-www-form-urlencoded media type, as is often used in the submission of HTML form data in HTTP requests.

<span class="mw-page-title-main">Michael Mealling</span>

Michael Mealling is co-founder of Pipefish Inc, and was the cofounder, Chief Financial Officer (CFO) and Vice President of Business Development of Masten Space Systems, CEO of Refactored Networks, long time participant within the IETF, a Space Frontier Foundation Advocate, and a former Director of the Moon Society. He operates a blog site called Rocketforge and has been interviewed twice on The Space Show and twice on SpaceVidcast.

The Handle System is the Corporation for National Research Initiatives's proprietary registry assigning persistent identifiers, or handles, to information resources, and for resolving "those handles into the information necessary to locate, access, and otherwise make use of the resources".

<span class="mw-page-title-main">HTTP location</span> Instruction by web server containing the intended location of a web page.

The HTTP Location header field is returned in responses from an HTTP server under two circumstances:

  1. To ask a web browser to load a different web page. In this circumstance, the Location header should be sent with an HTTP status code of 3xx. It is passed as part of the response by a web server when the requested URI has:
  2. To provide information about the location of a newly created resource. In this circumstance, the Location header should be sent with an HTTP status code of 201 or 202.
<span class="mw-page-title-main">Archival Resource Key</span> Form of URLs used as persistent identifiers

An Archival Resource Key (ARK) is a multi-purpose URL suited to being a persistent identifier for information objects of any type. It is widely used by libraries, data centers, archives, museums, publishers, and government agencies to provide reliable references to scholarly, scientific, and cultural objects. In 2019 it was registered as a Uniform Resource Identifier (URI).

<span class="mw-page-title-main">IPv6 address</span> Label to identify a network interface of a computer or other network node

An Internet Protocol Version 6 address is a numeric label that is used to identify and locate a network interface of a computer or a network node participating in a computer network using IPv6. IP addresses are included in the packet header to indicate the source and the destination of each packet. The IP address of the destination is used to make decisions about routing IP packets to other networks.

An Extensible Resource Identifier (XRI) is a scheme and resolution protocol for abstract identifiers compatible with Uniform Resource Identifiers (URI) and Internationalized Resource Identifiers (IRI), developed by the XRI Technical Committee at OASIS. The goal of XRI was a standard syntax and discovery format for abstract, structured identifiers that are domain-, location-, application-, and transport-independent, so they can be shared across any number of domains, directories, and interaction protocols.

Identifiers.org is a project providing stable and perennial identifiers for data records used in the Life Sciences. The identifiers are provided in the form of Uniform Resource Identifiers (URIs). Identifiers.org is also a resolving system, that relies on collections listed in the MIRIAM Registry to provide direct access to different instances of the identified records.

The Session Initiation Protocol (SIP) is the signaling protocol selected by the 3rd Generation Partnership Project (3GPP) to create and control multimedia sessions with multiple participants in the IP Multimedia Subsystem (IMS). It is therefore a key element in the IMS framework.

A Uniform Resource Locator (URL), colloquially known as an address on the Web, is a reference to a resource that specifies its location on a computer network and a mechanism for retrieving it. A URL is a specific type of Uniform Resource Identifier (URI), although many people use the two terms interchangeably. URLs occur most commonly to reference web pages (HTTP/HTTPS) but are also used for file transfer (FTP), email (mailto), database access (JDBC), and many other applications.

<span class="mw-page-title-main">Well-known URI</span>

A well-known URI is a Uniform Resource Identifier for URL path prefixes that start with /.well-known/. They are implemented in webservers so that requests to the servers for well-known services or information are available at URLs consistent well-known locations across servers.

Larry Melvin Masinter is an early internet pioneer and ACM Fellow. After attending Stanford University, he became a Principal Scientist of Xerox Artificial Intelligence Systems and author or coauthor of 26 of the Internet Engineering Task Force's Requests for Comments.

<span class="mw-page-title-main">Thing Description</span>

The Thing Description (TD) (or W3C WoT Thing Description (TD)) is a royalty-free, open information model with a JSON based representation format for the Internet of Things (IoT). A TD provides a unified way to describe the capabilities of an IoT device or service with its offered data model and functions, protocol usage, and further metadata. Using Thing Descriptions help reduce the complexity of integrating IoT devices and their capabilities into IoT applications.

References

Citations

  1. 1 2 3 4 5 6 7 8 9 RFC 8141 (2017).
  2. RFC 1737 (1994).
  3. RFC 2141 (1997).
  4. 1 2 W3C/IETF (2001).
  5. 1 2 RFC 3986 (2005).
  6. Farrell, S.; Kutscher, D.; Dannewitz, C.; Ohlman, B.; Keranen, A.; Hallam-Baker, P. (2013). "Naming Things with Hashes". doi: 10.17487/RFC6920 .{{cite journal}}: Cite journal requires |journal= (help)
  7. RFC 8141, section 2 (2017).
  8. 1 2 RFC 3406 (2002).
  9. Peter Saint-Andre; Dave Crocker; Mark Nottingham (2012-06-01). Deprecating the "X-" Prefix and Similar Constructs in Application Protocols. Internet Engineering Task Force. doi: 10.17487/RFC6648 . ISSN   2070-1721. RFC 6648 . Retrieved 2012-11-12.
  10. RFC 6963 (2013).
  11. "EPC Tag Data Standard, version 1.13". GS1. Nov 2019. Retrieved 7 March 2021.
  12. "Claims X-Ray AD FS Help".

Sources