Leslie L. Daigle draft-daigle-uri-std-00.txt
Expires: March 1, 2001 September 1, 2000
Uniform Resource Identifiers: Comprehensive
Status of this
This document is an Internet-Draft and is in full
conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas, and its
working groups. Note that other groups may also distribute working documents as
Internet-Drafts are draft
documents valid for a maximum of six months and may be updated, replaced, or
obsoleted by other documents at any time. It is inappropriate to use Internet-
Drafts as reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed
The list of Internet-Draft Shadow Directories
can be accessed at http://www.ietf.org/shadow.html.
The pieces of the specification of Uniform Resource
Identifiers (URIs), and subsets thereof, span several documents which have
evolved independently over time. This memo provides the definitive overview of
the (currently) relevant documentation. As such, it acts as a definition of the
core standard for URIs, incorporating existing standards documents by reference.
2 Conventions Used in this Document
The key words "MUST", "MUST NOT",
"REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
Uniform Resource Identifiers (URIs) provide a simple and
extensible means for identifying a resource. A URI can be further classified as
a locator, a name, or both. The term "Uniform Resource Locator" (URL) refers to
the subset of URIs that identify resources via a representation of their primary
access mechanism (e.g., their network "location"), rather than identifying the
resource by name or by some other attribute(s) of that resource. The term
"Uniform Resource Name" (URN) refers to the subset of URIs that are required to
remain globally unique and persistent even when the resource ceases to exist or
becomes unavailable. A URI "scheme" defines the namespace of the URI, and thus
may further restrict the syntax and semantics of identifiers using that scheme.
Throughout the history of the discussion of URIs there has been a steady
stream of documentation published to describe various elements of conceptual
models, syntaxes, related services, and particular schemes. This dispersed
collection of documentation does not serve the purpose of a clear specification
of the URI standard, and is certainly confusing to people who haven't been
involved in the discussions since the outset.
This memo singles out the
key documents that comprise the core definition of URIs and their use.
Key areas of the specification are definition and syntax (Section 4),
use/resolution (Section 5), and associated registration requirements (Section
6). As additional clarification, some of the documents that provide useful
informational background or have historical importance, that are not part of the
current URI definition are mentioned in Section 7.
4 URI structure
The definition of the generic syntax of URIs is
presented in [RFC2396] . All URIs MUST conform to this syntax.
Additionally, further syntactic restrictions of URIs for Uniform
Resource Names (URNs) are defined in [RFC2141] . All URNs MUST adhere to this
5 Use of existing URIs
Typically, the handling of URIs of particular
schemes is defined in individual documents to that purpose. URI schemes are
registered with IANA, and registrations (with pointers to official
documentation) are viewable at [IANAURL].
Similarly, URN namespaces are
registered with IANA, and can be reviewed at [IANAURN].
global resolution service, which is RECOMMENDED for global resolution of URNs,
but also has application for URIs of all schemes, is defined in [RFCXXXX].
6 Creation of new URIs
The creation of new identifiers is governed by
the syntactic and (where applicable) other rules laid out for each URI scheme or
The process for creating new URI schemes is outlined in
[RFC2717]. See [RFC2611]for information on how to create a new URN namespace.
Information about the process for inclusion of a URN namespace in the
global resolution service defined in [RFCXXXX] is given in [RFCYYYY].
7 Informational/historical reading
The documentation referred to in the
preceeding sections provides a complete definition of the URI standard. However,
earlier documentation can provide informative insight into the evolution of
URIs. The first documents discussing URIs (then "universal" resource
identifiers) were [RFC1630], [RFC1736], and [RFC1738]. [RFC1738]and [RFC1808]
provided the first definition of URI syntax (and syntax for "relative" URIs), as
well as the definition of the first URI schemes. For URI syntax, these documents
have been replaced by [RFC2396]
Guidelines for the creation of new URI
schemes are outlined in [RFC2718] .
Additional information regarding the
general principles behind, and goals of, URNs can be found in [RFC2267]. The
global resolution service for URNs/URIs was originally described experimentally
in [RFC2168], but that has been replaced by a suite of standards-track
documents, of which [RFCXXXX] defines the URN/URI resolution application.
8 Security ConsiderationsThis document does not discuss material that
introduces new causes for considerations of security. The issues of security in
URIs are discussed in the individual documents referenced herein.
9 Author's Addresses
Leslie L. Daigle Thinkingcat Enterprises
[RFC1630] Berners-Lee, T., "Universal
Resource Identifiers in WWW", RFC 1630, June 1994.
[RFC1738] Berners-Lee, T., L. Masinter, and
M. McCahill, "Uniform
Resource Locators (URL)", RFC 1738, December 1994.
[RFC2396] Berners-Lee, T., R. Fielding, and
L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax", RFC 2396
Bradner, S. "Key Words for use in RFCs to Indicate
Requirement Levels". RFC 2119.
[RFC2611] Daigle, L., D. van Gulik, R.
Iannella and P. Faltstrom, "URN Namespace Definition Mechanisms", RFC 2611, June
Daniel, R., and M. Mealling, "Resolution of Uniform Resource
Identifiers using the Domain Name System", RFC 2168, June 1997.
Fielding, R., "Relative Uniform Resource Locators", RFC 1808, June 1995.
[RFC1736] Kunze, J., "Functional Recommendations for Internet Resource
Locators", RFC 1736, February 1995.
Masinter, L., H. Alvestrand,
D. Zigmond, R. Petke, "Guidelines for new URL Schemes", RFC 2718, November 1999.
[RFCXXXX] Mealling, M., "URI Resolution using the Dynamic Delegation
Discovery System", RFC XXXX, SomeMonth 2000.
Mealling, M., and R. Daniel, "Assignment Procedures for URI Resolution Using
DNS", RFC YYYY, SomeMonth 2000.
Moats, R., "URN Syntax", RFC 2141, May 1997.
[RFC2717] Petke, R., I. King,
"Registration Procedures for URL Scheme Names", RFC 2717, November 1999.
Sollins, K., "Architectural Principles of Uniform Resource Name
Resolution", RFC 2267, January 1998.