Internet Draft Leslie L. Daigle draft-daigle-uri-std-00.txt ThinkingCat Enterprises Expires: March 1, 2001 September 1, 2000 Uniform Resource Identifiers: Comprehensive Standard draft-daigle-uri-std-00.txt Status of this document 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. 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 at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. 1 Abstract 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]. 3 Introduction 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 syntax. 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]. Additioanlly, a 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 URN namespace. 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 Considerations This 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 E-mail: leslie@thinkingcat.com 10 References [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 August 1998. [RFC2119] 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 1999. [RFC2168] Daniel, R., and M. Mealling, "Resolution of Uniform Resource Identifiers using the Domain Name System", RFC 2168, June 1997. [RFC1808] Fielding, R., "Relative Uniform Resource Locators", RFC 1808, June 1995. [IANAURL] http://www.isi.edu/in-notes/iana/assignments/url-schemes [IANAURN] http://www.isi.edu/in-notes/iana/assignments/urn-namespaces [RFC1736] Kunze, J., "Functional Recommendations for Internet Resource Locators", RFC 1736, February 1995. [RFC2718] 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. [RFCYYYY] Mealling, M., and R. Daniel, "Assignment Procedures for URI Resolution Using DNS", RFC YYYY, SomeMonth 2000. [RFC2141] Moats, R., "URN Syntax", RFC 2141, May 1997. [RFC2717] Petke, R., I. King, "Registration Procedures for URL Scheme Names", RFC 2717, November 1999. [RFC2276] Sollins, K., "Architectural Principles of Uniform Resource Name Resolution", RFC 2267, January 1998.