Skip to main content

Appendix B. Changes from RFC 2141

This document makes substantive changes from the syntax and semantics of RFC 2141.

B.1. Syntax Changes

The syntax of URNs as provided in RFC 2141 was defined before the updated specification of URIs in RFC 3986. The definition of URN syntax is updated in this document to achieve the following goals:

Main Objectives

  1. Ensure consistency with the URI syntax
  2. Facilitate the use of URNs with parameters similar to URI queries and fragments
  3. Permit parameters influencing URN resolution
  4. Ease the use of URNs with non-URN identifier systems that include the "/" character

Specific Changes

This specification does the following:

1. Extended Character Support

Extends URN syntax to explicitly allow the characters "/", "?", and "#", which were reserved for future use by RFC 2141. This change also effectively allows several components of the URI syntax although without necessarily tying those components to URI semantics.

2. Resolution Service Component

Defines general syntax for an additional component that can be used in interactions with a URN resolution service.

3. NID Restrictions

Disallows "-" at the end of the NID.

4. NSS Character Set Extension

Allows the "/", "~", and "&" characters in the NSS.

5. Other Adjustments

Makes several smaller syntax adjustments.

Compatibility Impact

These changes improve URN flexibility and compatibility with modern URI systems while maintaining stability of core semantics.