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.