Internet Draft                                          Leslie L. Daigle
draft-daigle-uri-std-01.txt                      ThinkingCat Enterprises
Expires:  July 19, 2001                                 January 19, 2001


        Uniform Resource Identifiers:  Comprehensive Standard
                    draft-daigle-uri-std-01.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 a 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 IETF 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],
and is extended to support IPv6 addresses in [RFC2732].  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.

4.1 Common confusions in URI structure

RFC2396 defines the syntax for "URI references", which includes
the syntax of URIs and the reference elements ("#fragment") that
may accompany them.  It is sometimes assumed that the "#fragment"
is part of the URI syntax, and should be passed to a resolving
server.  This is not the case, as a careful reading of [RFC2396]
explains.


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].

Additionally, 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 [BCP33] 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.

The W3C also maintains documentation about the use of URIs in the
World Wide Web.  See, for example,

   http://www.w3.org/DesignIssues/Model.html
   http://www.w3.org/DesignIssues/Axioms.html


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.

[BCP33]     Daigle, L., D. van Gulik, R. Iannella and P. Faltstrom,
            "URN Namespace Definition Mechanisms", BCP 33,
            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.

[RFC2732]   Hinden, R., B. Carpenter and L. Masinter, "Format for
                Literal IPv6 Addresses in URL's", RFC 2732, December 1999.

[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.