Network Working Group P. Saint-Andre
Internet-Draft Cisco Systems, Inc.
Intended status: Best Current Practice March 10, 2013
Expires: September 11, 2013
A Uniform Resource Name (URN) Namespace for Examples
draft-saintandre-urn-example-04
Abstract
This document defines a Uniform Resource Name (URN) namespace
identifier enabling generation of URNs that are appropriate for use
in documentation, private testing, and the like.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on September 11, 2013.
Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
Saint-Andre Expires September 11, 2013 [Page 1]
Internet-Draft Example URNs March 2013
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Completed Namespace Definition Template . . . . . . . . . . . 2
3. Namespace Considerations . . . . . . . . . . . . . . . . . . 4
4. Community Considerations . . . . . . . . . . . . . . . . . . 4
5. Security Considerations . . . . . . . . . . . . . . . . . . . 5
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 5
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 5
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 5
1. Introduction
The Uniform Resource Name (URN) technology [RFC2141] provides a way
to generate persistent, location-independent, resource identifiers.
The primary "scope" of a URN is provided by its namespace identifier
(NID). As specified in [RFC3406], there are three kinds of NID:
formal, informal, and experimental. Most of the NIDs registered to
date are formal: as far as is known the few informal namespaces have
not been widely used, and the experimental namespaces are by
definition unregistered.
The experimental namespaces take the form "X-NID" (where "NID" is the
desired namespace identifier). Because the "x-" convention has been
deprecated in general [RFC6648], it seems sensible to achieve the
same objective in a different way. Therefore this document registers
a formal namespace identifier of "example", similar to "example.com"
and other domain names [RFC2606]. Under the "example" NID,
specification authors and code developers can mint URNs for use in
documentation and private testing by assigning their own unique
namespace-specific strings.
2. Completed Namespace Definition Template
2.1. Namespace ID
The Namespace ID "example" is requested.
2.2. Registration Information
Version 1
Date: [to be assigned]
2.3. Declared Registrant of the Namespace
Registering organization: IETF
Saint-Andre Expires September 11, 2013 [Page 2]
Internet-Draft Example URNs March 2013
Designated contact: IESG, iesg@ietf.org
2.4. Declaration of Syntactic Structure
URNs that use the "example" NID shall have the following structure:
urn:example:{NSS}
The Namespace Specific String (NSS) is a mandatory string of ASCII
characters [RFC20] that conforms to the URN syntax requirements
[RFC2141] and that provides a name that is useful within the relevant
documentation example, test suite, or other application.
2.5. Relevant Ancillary Documentation
See [RFC6648] for information about deprecation of the "x-"
convention in protocol parameters and identifiers.
2.6. Identifier Uniqueness Considerations
Those who mint example URNs ought to strive for uniqueness in the
namespace specific string portion of the URN. However, such
uniqueness cannot be guaranteed through the assignment process. As a
result, implementers are counselled against using example URNs for
any purposes other than documentation, private testing, and truly
experimental contexts.
2.7. Identifier Persistence Considerations
Once minted, an example URN is immutable. However, it is simply a
string and there is no guarantee that the documentation, test suite,
or other application using the URN is immutable.
2.8. Process of Identifier Assignment
Assignment is completely open, since anyone can mint example URNs for
use in documentation, private testing, and other experimental
contexts.
2.9. Process for Identifier Resolution
Example URNs are not intended to be resolved, and the namespace will
probably never be registered with a Resolution Discovery System
(unless to simply inform requesters that such URNs are merely
examples).
2.10. Rules for Lexical Equivalence
Saint-Andre Expires September 11, 2013 [Page 3]
Internet-Draft Example URNs March 2013
No special considerations; the rules for lexical equivalence
specified in [RFC2141] apply.
2.11. Conformance with URN Syntax
No special considerations
2.12. Validation Mechanism
None
2.13. Scope
The scope of an example URN is limited to the documentation in which
it is found, the test in which it is used, the experiment in which it
appears, etc. Example URNs have no meaning outside such strictly-
limited contexts.
3. Namespace Considerations
No existing formal namespace enables entities to generate URNs that
are appropriate for use as examples in documentation, in private
testing, and the like. It could be argued that no such formal
namespace is needed, given that experimental namespaces can be minted
at will. However, experimental namespaces run afoul of the trend
away from using the "x-" convention in the names of protocol
parameters and identifiers [RFC6648]. Additionally, in practice
specification authors often mint examples using fake NIDs that go
unregistered because they are never intended to be used. To minimize
the possibility of confusion, use of this dedicated example namespace
is recommended for generating example URNs.
4. Community Considerations
The "example" NID is intended to provide a clean, easily-recognizable
space for minting examples to be used in documentation, in private
testing, and the like. The Namespace Specific String (NSS) needs to
be a unique string, generated by the person, organization, or other
entity that creates the documentation, test suite, or other
application. There is no issuing authority for example URNs and they
cannot be resolved in any meaningful way.
The "example" NID does not obviate the need to coordinate with
issuing authorities for existing namespaces (e.g., minting
"urn:example:xmpp:foo" instead of requesting issuance of
"urn:xmpp:foo"), to register new namespace identifiers if existing
namespaces do not match one's desired functionality (e.g., minting
"urn:example:sha-1:29ead03e784b2f636a23ffff95ed12b56e2f2637" instead
Saint-Andre Expires September 11, 2013 [Page 4]
Internet-Draft Example URNs March 2013
of registering the "sha-1" NID), or to respect the basic spirit of
URN NID assignment (e.g., setting up shadow NIDs such as
"urn:example:MyCompany:*" instead of using, say, HTTP URIs).
5. Security Considerations
This document introduces no additional security considerations beyond
those associated with the use and resolution of URNs in general.
6. IANA Considerations
This document defines a URN NID registration of "example", to be
added to the Uniform Resource Names (URN) Formal Namespaces registry.
The completed registration template can be found in under Section 2.
7. References
7.1. Normative References
[RFC20] Cerf, V., "ASCII format for network interchange", RFC 20,
October 1969.
[RFC2141] Moats, R., "URN Syntax", RFC 2141, May 1997.
[RFC3406] Daigle, L., van Gulik, D., Iannella, R., and P. Faltstrom,
"Uniform Resource Names (URN) Namespace Definition
Mechanisms", BCP 66, RFC 3406, October 2002.
7.2. Informative References
[RFC2606] Eastlake, D.E. and A. Panitz, "Reserved Top Level DNS
Names", BCP 32, RFC 2606, June 1999.
[RFC6648] Saint-Andre, P., Crocker, D., and M. Nottingham,
"Deprecating the "X-" Prefix and Similar Constructs in
Application Protocols", BCP 178, RFC 6648, June 2012.
Appendix A. Acknowledgements
Thanks to Martin Duerst, Barry Leiba, Julian Reschke, and Jim Schaad
for their feedback.
Author's Address
Saint-Andre Expires September 11, 2013 [Page 5]
Internet-Draft Example URNs March 2013
Peter Saint-Andre
Cisco Systems, Inc.
1899 Wynkoop Street, Suite 600
Denver, CO 80202
USA
Email: psaintan@cisco.com
Saint-Andre Expires September 11, 2013 [Page 6]