| < draft-mealling-uri-ig-01.txt | draft-mealling-uri-ig-02.txt > | |||
|---|---|---|---|---|
| A new Request for Comments is now available in online RFC libraries. | ||||
| Network Working Group URI Interest Group | RFC 3305 | |||
| Internet-Draft W3C/IETF | ||||
| Expires: March 25, 2002 September 24, 2001 | ||||
| URIs, URLs, and URNs: Clarifications and Recommendations | ||||
| Report from the joint W3C/IETF URI Planning Interest Group | ||||
| draft-mealling-uri-ig-01.txt | ||||
| Status of this Memo | ||||
| 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. | ||||
| This Internet-Draft will expire on March 25, 2002. | ||||
| Copyright Notice | ||||
| Copyright (C) The Internet Society (2001). All Rights Reserved. | ||||
| Abstract | ||||
| This paper addresses and attempts to clarify two issues pertaining to | ||||
| URIs, and presents recommendations. Section 1 addresses how URI | ||||
| space is partitioned and the relationship between URIs, URLs, and | ||||
| URNs. Section 2 describes how URI schemes and URN namespace ids are | ||||
| registered. Section 3 mentions additional unresolved issues not | ||||
| considered by this paper and section 4 presents recommendations. | ||||
| Questions concerning this document should be directed to the | ||||
| uri@w3.org mailing list. | ||||
| Table of Contents | ||||
| 1. URI Partitioning . . . . . . . . . . . . . . . . . . . . . 3 | ||||
| 1.1 Classical View . . . . . . . . . . . . . . . . . . . . . . 3 | ||||
| 1.2 Contemporary View . . . . . . . . . . . . . . . . . . . . 3 | ||||
| 1.3 Confusion . . . . . . . . . . . . . . . . . . . . . . . . 4 | ||||
| 2. Registration . . . . . . . . . . . . . . . . . . . . . . . 4 | ||||
| 2.1 URI Schemes . . . . . . . . . . . . . . . . . . . . . . . 4 | ||||
| 2.1.1 Registered URI schemes . . . . . . . . . . . . . . . . . . 4 | ||||
| 2.1.2 Unregistered URI Schemes . . . . . . . . . . . . . . . . . 4 | ||||
| 2.1.2.1 Public Unregistered Schemes . . . . . . . . . . . . . . . 4 | ||||
| 2.1.2.2 Private Schemes . . . . . . . . . . . . . . . . . . . . . 5 | ||||
| 2.1.3 Registration of URI Schemes . . . . . . . . . . . . . . . 5 | ||||
| 2.1.3.1 IETF Tree . . . . . . . . . . . . . . . . . . . . . . . . 5 | ||||
| 2.1.3.2 Other Trees . . . . . . . . . . . . . . . . . . . . . . . 5 | ||||
| 2.2 URN Namespaces . . . . . . . . . . . . . . . . . . . . . . 5 | ||||
| 2.2.1 Registered URN NIDs . . . . . . . . . . . . . . . . . . . 5 | ||||
| 2.2.2 Pending URN NIDs . . . . . . . . . . . . . . . . . . . . . 6 | ||||
| 2.2.3 Unregistered NIDs . . . . . . . . . . . . . . . . . . . . 6 | ||||
| 2.2.4 Registration Procedures for URN NIDs . . . . . . . . . . . 7 | ||||
| 3. Additional URI Issues . . . . . . . . . . . . . . . . . . 7 | ||||
| 4. Recommendations . . . . . . . . . . . . . . . . . . . . . 7 | ||||
| 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . 8 | ||||
| References . . . . . . . . . . . . . . . . . . . . . . . . 9 | ||||
| Author's Address . . . . . . . . . . . . . . . . . . . . . 10 | ||||
| Full Copyright Statement . . . . . . . . . . . . . . . . . 11 | ||||
| 1. URI Partitioning | ||||
| There is some confusion in the web community over the partitioning of | ||||
| URI space, specifically, the relationship among the concepts of URL, | ||||
| URN, and URI. The confusion owes to the incompatibility between two | ||||
| different views of URI partitioning, which we call the "classical" | ||||
| and "contemporary" views. | ||||
| 1.1 Classical View | ||||
| During the early years of discussion of web identifiers (early to mid | ||||
| 90s), people assumed that an identifer type would be cast into one of | ||||
| two (or possibly more) classes. An identifier might specify the | ||||
| location of a resource (a URL) or its name (a URN) independent of | ||||
| location. Thus a URI was either a URL or a URN. There was | ||||
| discussion about generalizing this by addition of a discrete number | ||||
| of additional classes; for example, a URI might point to metadata | ||||
| rather than the resource itself, in which case the URI would be a URC | ||||
| (citation). URI space was thus viewed as partitioned into subspaces: | ||||
| URL and URN, and additional subspaces, to be defined. The only such | ||||
| additional space ever proposed was URC and there never was any buy- | ||||
| in; so without loss of generality it's reasonable to say that URI | ||||
| space was thought to be partitioned into two classes: URL and URN. | ||||
| Thus for example, "http:" was a URL scheme, and "isbn:" would | ||||
| (someday) be a URN scheme. Any new scheme would be cast into one or | ||||
| the other of these two classes. | ||||
| 1.2 Contemporary View | ||||
| Over time, the importance of this additional level of hierarchy | ||||
| seemed to lessen; the view became that an individual scheme does not | ||||
| need to be cast into one of a discrete set of URI types such as | ||||
| "URL", "URN", "URC", etc. Web-identifer schemes are in general URI | ||||
| schemes; a given URI scheme may define subspaces. Thus "http:" is a | ||||
| URI scheme. "urn:" is also a URI scheme; it defines subspaces, | ||||
| called "namespaces". For example, the set of URNs of the form | ||||
| "urn:isbn:n-nn-nnnnnn-n" is a URN namespace. ("isbn" is an URN | ||||
| namespace identifier. It is not a "URN scheme" nor a "URI scheme"). | ||||
| Further according to the contemporary view, the term "URL" does not | ||||
| refer to a formal partition of URI space; rather, URL is a useful but | ||||
| informal concept: a URL is a type of URI that identifies a resource | ||||
| via a representation of its primary access mechanism (e.g., its | ||||
| network "location"), rather than by some other attributes it may | ||||
| have. Thus as we noted, "http:" is a URI scheme. An http URI is a | ||||
| URL. The phrase "URL scheme" is now used infrequently, usually to | ||||
| refer to some subclass of URI schemes which exclude URNs. | ||||
| 1.3 Confusion | ||||
| The body of documents (RFCs, etc) covering URI architecture, syntax, | ||||
| registration, etc., spans both the classical and contemporary | ||||
| periods. People who are well-versed in URI matters tend to use "URL" | ||||
| and "URI" in ways that seem to be interchangable. Among these | ||||
| experts, this isn't a problem. But among the Internet community at | ||||
| large, it is. People are not convinced that URI and URL mean the | ||||
| same thing, in documents where they (apparently) do. When one sees | ||||
| an RFC that talks about URI schemes (e.g. "URI Syntax" (RFC 2396) | ||||
| [12]), another that talks about URL schemes (e.g. "Registration | ||||
| Procedures for URL Schemes" (RFC 2717) [1]), and yet another that | ||||
| talks of URN schemes ("Architectural Principles of URN Resolution" | ||||
| (RFC 2276) [13]) it is natural to wonder what's the difference, and | ||||
| how they relate to one another. While RFC 2396 1.2 attempts to | ||||
| address the distinction between URIs, URLs and URNs, it has not been | ||||
| successful in clearing up the confusion. | ||||
| 2. Registration | ||||
| This section examines the state of registration of URI schemes and | ||||
| URN namespaces and the mechanisms by which registration currently | ||||
| occurs. | ||||
| 2.1 URI Schemes | ||||
| 2.1.1 Registered URI schemes | ||||
| The official register of URI scheme names is maintained by IANA, at | ||||
| http://www.iana.org/assignments/uri-schemes . For each scheme, the | ||||
| RFC that defines the scheme is listed, for example "http:" is defined | ||||
| by RFC2616 [14]. The table currently lists 30 schemes. In addition, | ||||
| there are a few "reserved" scheme names; at one point in time these | ||||
| were intended to become registered schemes but have since been | ||||
| dropped. | ||||
| 2.1.2 Unregistered URI Schemes | ||||
| We distinguish between public (unregistered) and private schemes. A | ||||
| public scheme (registered or not), is one for which there is some | ||||
| public document describing it. | ||||
| 2.1.2.1 Public Unregistered Schemes | ||||
| Dan Conolly's paper at http://www.w3.org/Addressing/schemes provides | ||||
| a list of known, public URI schemes, both registered and un- | ||||
| registered, a total of 84 schemes. 50 or so of these are | ||||
| unregistered (not listed in the IANA register). Some may be obsolete | ||||
| (for example, it appears that "phone", is obsolete, superceded by | ||||
| "tel"). Some have an RFC, but are not included in the IANA list. | ||||
| 2.1.2.2 Private Schemes | ||||
| It's probably impossible to determine all of these, and it's not | ||||
| clear that it's worthwhile to try, except perhaps to get some idea of | ||||
| their number. In the minutes of the August 1997 IETF meeting is the | ||||
| observation that there may be 20-40 in use at Microsoft, with 2-3 | ||||
| being added a day, and that WebTV has 24, with 6 added per year. | ||||
| 2.1.3 Registration of URI Schemes | ||||
| "Registration Procedures for URL Scheme Names" (RFC 2717) [1] | ||||
| specifies procedures for registering scheme names, and points to | ||||
| "Guidelines for new URL Schemes" (RFC 2718) [2] which supplies | ||||
| guidelines. RFC 2717 describes an organization of schemes into | ||||
| "trees". | ||||
| 2.1.3.1 IETF Tree | ||||
| The IETF tree is intended for schemes of general interest to the | ||||
| Internet community, and which require a substantive review and | ||||
| approval process. Registration in the IETF tree requires publication | ||||
| of the scheme syntax and semantics in an RFC. | ||||
| 2.1.3.2 Other Trees | ||||
| Although RFC 2717 describes "alternative trees", no alternative trees | ||||
| have been registered to date, although a vendor-supplied tree ("vnd") | ||||
| is pending. URI schemes in alternative trees will be distinguished | ||||
| because they will have a "." in the scheme name. | ||||
| 2.2 URN Namespaces | ||||
| A URN namespace is identified by a "Namespace ID", NID, which is | ||||
| registered with IANA (see Section 2.2.4). | ||||
| 2.2.1 Registered URN NIDs | ||||
| There are two categories of registered URN NIDs: | ||||
| o Informal: These are of the form "urn-<number>" where <number> is | ||||
| assigned by IANA. There are three registered in this category | ||||
| (urn-1, urn-2, and urn-3). | ||||
| o Formal: The official list of registered NIDs is kept by IANA at | ||||
| http://www.iana.org/assignments/urn-namespaces. Currently it | ||||
| lists eight registered NIDs: | ||||
| * 'ietf', defined by "URN Namespace for IETF Documents" (RFC | ||||
| 2648) [3] | ||||
| * 'pin', defined by "The Network Solutions Personal Internet | ||||
| Name (PIN): A URN Namespace for People and Organizations" (RFC | ||||
| 3043) [4] | ||||
| * 'issn' defined by "Using The ISSN as URN within an ISSN-URN | ||||
| Namespace" (RFC 3043) [4] | ||||
| * 'oid' defined by "A URN Namespace of Object Identifiers" (RFC | ||||
| 3061) [6] | ||||
| * 'newsml' defined by "URN Namespace for NewsML Resources" (RFC | ||||
| 3085) [7] | ||||
| * 'oasis' defined by "A URN Namespace for OASIS" (RFC 3121) [8] | ||||
| * 'xmlorg' defined by "A URN Namespace for XML.org" (RFC 3120) | ||||
| [9] | ||||
| * 'publicid' defined by "A URN Namespace for Public Identifiers" | ||||
| (RFC 3151) [10] | ||||
| 2.2.2 Pending URN NIDs | ||||
| There are a number of pending URN NID registration requests but there | ||||
| is no reliable way to discover them, or their status. For example, | ||||
| 'isbn' and 'nbn' have been approved by the IESG and are in the RFC | ||||
| Editor's queue. 'isbn', as a potential URN namespace (or URI | ||||
| scheme), in particular has been a source of much speculation and | ||||
| confusion over several years. It would be helpful if there were some | ||||
| formal means to track the status of NID requests such as 'isbn'. | ||||
| 2.2.3 Unregistered NIDs | ||||
| In the "unregistered" category (besides the experimental case, not | ||||
| described in this paper) there are bonafide NIDs that just haven't | ||||
| bothered to even explore the process of registration.The most | ||||
| prominent that comes to mind is 'hdl'. In the case of 'hdl', it has | ||||
| been speculated that this scheme has not been registered because it | ||||
| is not clear to the owners whether it should be registered as a URI | ||||
| scheme or as a URN namespace. | ||||
| 2.2.4 Registration Procedures for URN NIDs | ||||
| "URN Namespace Definition Mechanisms" (RFC 2611) [11] describes the | ||||
| mechanism to obtain an NID for a URN namespace, which is registered | ||||
| with IANA. | ||||
| A request for an NID should describe features including: structural | ||||
| characteristic of identifiers (for example, features relevant to | ||||
| caching/shortcuts approaches); specific character encoding rules | ||||
| (e.g., which character should be used for single-quotes); RFCs, | ||||
| standards, etc, that explains the namespace structure; identifier | ||||
| uniqueness considerations; delegation of assignment authority, | ||||
| including how to become an assigner of identifiers; identifier | ||||
| persistence considerations; quality of service considerations; | ||||
| process for identifier resolution; rules for lexical equivalence; any | ||||
| special considerations required for conforming with the URN syntax | ||||
| (particularly applicable in the case of legacy naming systems); | ||||
| validation mechanisms (determining whether a given string is | ||||
| currently a validly-assigned URN; and scope (for example,"United | ||||
| States social security numbers"). | ||||
| 3. Additional URI Issues | ||||
| There are additional unresolved URI issues, not considered by this | ||||
| paper, which we hope will be addressed by a follow-on effort. We | ||||
| have not attempted to completely enumerate these issues, however, | ||||
| they include (but are not limited to) the following: | ||||
| o The use of URIs as identifiers that don't actually identify | ||||
| network resources (for example they identify an abstract object | ||||
| such as an XML schema, or a physical object such as a book or even | ||||
| a person). | ||||
| o IRIs (International Resource Identifiers): the extension of URI | ||||
| syntax to non-ASCII. | ||||
| 4. Recommendations | ||||
| We recommend the following: | ||||
| 1. The W3C and IETF should jointly develop and endorse a model for | ||||
| URIs, URLs and URNs consistent with the '"Contemporary View" | ||||
| described in section 1, and which considers the additional URI | ||||
| issues listed or alluded to in section 3. | ||||
| 2. RFCs such as 2717 ("Registration Procedures for URL Scheme | ||||
| Names") and 2718 ("Guidelines for new URL Schemes") should both | ||||
| be generalized to refer to "URI schemes" rather that "URL | ||||
| schemes" and, after refinement, moved forward as Best Current | ||||
| Practice in IETF. | ||||
| 3. The registration procedures for alternative trees should be | ||||
| clarified in RFC 2717. | ||||
| 4. Public but unregistered schemes should become registered, where | ||||
| possible. Obsolete schemes should be purged or clearly marked as | ||||
| obsolete. | ||||
| 5. IANA registration information should be updated: | ||||
| * Add 'urn' to the list of registered URI schemes with a pointer | ||||
| to the URN namespace registry. | ||||
| * Maintain status information about pending registrations (URI | ||||
| schemes and URN NID requests ). | ||||
| * Insure that it is clear that the page is the official | ||||
| registry, e.g., by adding a heading to the effect "This is the | ||||
| Official IANA Registry of URI Schemes". | ||||
| 5. Acknowledgements | ||||
| The participants in the URI Planning Interest Group are: | ||||
| o Tony Coates | ||||
| o Dan Connolly | ||||
| o Diana Dack | ||||
| o Leslie Daigle | ||||
| o Ray Denenberg | ||||
| o Martin D’rst | ||||
| o Paul Grosso | ||||
| o Sandro Hawke | ||||
| o Renato Iannella | ||||
| o Graham Klyne | ||||
| o Larry Masinter | ||||
| o Michael Mealling | ||||
| o Mark Needleman | ||||
| o Norman Walsh | ||||
| References | ||||
| [1] Petke, R. and I. King, "Registration Procedures for URL Scheme | ||||
| Names", BCP 35, RFC 2717, November 1999. | ||||
| [2] Masinter, L., Alvestrand, H., Zigmond, D. and R. Petke, | ||||
| "Guidelines for new URL Schemes", RFC 2718, November 1999. | ||||
| [3] Moats, R., "A URN Namespace for IETF Documents", RFC 2648, | ||||
| August 1999. | ||||
| [4] Mealling, M., "The Network Solutions Personal Internet Name | ||||
| (PIN): A URN Namespace for People and Organizations", RFC 3043, | ||||
| January 2001. | ||||
| [5] Rozenfeld, S., "Using The ISSN (International Serial Standard | ||||
| Number) as URN (Uniform Resource Names) within an ISSN-URN | ||||
| Namespace", RFC 3044, January 2001. | ||||
| [6] Mealling, M., "A URN Namespace of Object Identifiers", RFC | ||||
| 3061, February 2001. | ||||
| [7] Coates, A., Allen, D. and D. Rivers-Moore, "URN Namespace for | ||||
| NewsML Resources", RFC 3085, March 2001. | ||||
| [8] Best, K. and N. Walsh, "A URN Namespace for OASIS", RFC 3121, | ||||
| June 2001. | ||||
| [9] Best, K. and N. Walsh, "A URN Namespace for XML.org", RFC 3120, | ||||
| June 2001. | ||||
| [10] Walsh, N., Cowan, J. and P. Grosso, "A URN Namespace for Public | ||||
| Identifiers", RFC 3151, August 2001. | ||||
| [11] Daigle, L., van Gulik, D., Iannella, R. and P. Faltstrom, "URN | ||||
| Namespace Definition Mechanisms", BCP 33, RFC 2611, June 1999. | ||||
| [12] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform | ||||
| Resource Identifiers (URI): Generic Syntax", RFC 2396, August | ||||
| 1998. | ||||
| [13] Sollins, K., "Architectural Principles of Uniform Resource Name | ||||
| Resolution", RFC 2276, January 1998. | ||||
| [14] Fielding, R., Gettys, J., Mogul, J., Nielsen, H., Masinter, L., | Title: Report from the Joint W3C/IETF URI Planning | |||
| Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol -- | Interest Group: Uniform Resource Identifiers | |||
| HTTP/1.1", RFC 2616, June 1999. | (URIs), URLs, and Uniform Resource Names (URNs): | |||
| Clarifications and Recommendations | ||||
| Author(s): M. Mealling, Ed., R. Denenberg, Ed. | ||||
| Status: Informational | ||||
| Date: August 2002 | ||||
| Mailbox: michael@verisignlabs.com, rden@loc.gov | ||||
| Pages: 11 | ||||
| Characters: 21793 | ||||
| Updates/Obsoletes/SeeAlso: None | ||||
| Author's Address | I-D Tag: draft-mealling-uri-ig-02.txt | |||
| URI Planning Interest Group | URL: ftp://ftp.rfc-editor.org/in-notes/rfc3305.txt | |||
| W3C/IETF | ||||
| Full Copyright Statement | This document, a product of the W3C Uniform Resource Identifier (URI) | |||
| Interest Group, addresses and attempts to clarify issues pertaining to | ||||
| URIs. This document addresses how URI space is partitioned and the | ||||
| relationship between URIs, URLs, and URNs, describes how URI schemes | ||||
| and URN namespaces ids are registered, and presents recommendations | ||||
| for continued work on this subject. | ||||
| Copyright (C) The Internet Society (2001). All Rights Reserved. | This memo provides information for the Internet community. It does | |||
| not specify an Internet standard of any kind. Distribution of this | ||||
| memo is unlimited. | ||||
| This document and translations of it may be copied and furnished to | This announcement is sent to the IETF list and the RFC-DIST list. | |||
| others, and derivative works that comment on or otherwise explain it | Requests to be added to or deleted from the IETF distribution list | |||
| or assist in its implementation may be prepared, copied, published | should be sent to IETF-REQUEST@IETF.ORG. Requests to be | |||
| and distributed, in whole or in part, without restriction of any | added to or deleted from the RFC-DIST distribution list should | |||
| kind, provided that the above copyright notice and this paragraph are | be sent to RFC-DIST-REQUEST@RFC-EDITOR.ORG. | |||
| included on all such copies and derivative works. However, this | ||||
| document itself may not be modified in any way, such as by removing | ||||
| the copyright notice or references to the Internet Society or other | ||||
| Internet organizations, except as needed for the purpose of | ||||
| developing Internet standards in which case the procedures for | ||||
| copyrights defined in the Internet Standards process must be | ||||
| followed, or as required to translate it into languages other than | ||||
| English. | ||||
| The limited permissions granted above are perpetual and will not be | Details on obtaining RFCs via FTP or EMAIL may be obtained by sending | |||
| revoked by the Internet Society or its successors or assigns. | an EMAIL message to rfc-info@RFC-EDITOR.ORG with the message body | |||
| help: ways_to_get_rfcs. For example: | ||||
| This document and the information contained herein is provided on an | To: rfc-info@RFC-EDITOR.ORG | |||
| "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING | Subject: getting rfcs | |||
| TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING | ||||
| BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION | ||||
| HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF | ||||
| MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ||||
| Acknowledgement | help: ways_to_get_rfcs | |||
| Funding for the RFC Editor function is currently provided by the | Requests for special distribution should be addressed to either the | |||
| Internet Society. | author of the RFC in question, or to RFC-Manager@RFC-EDITOR.ORG. Unless | |||
| specifically noted otherwise on the RFC itself, all RFCs are for | ||||
| unlimited distribution.echo | ||||
| Submissions for Requests for Comments should be sent to | ||||
| RFC-EDITOR@RFC-EDITOR.ORG. Please consult RFC 2223, Instructions to RFC | ||||
| Authors, for further information. | ||||
| End of changes. 12 change blocks. | ||||
| 437 lines changed or deleted | 35 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||