Skip to main content

附录 B. 与 RFC 2141 的变更 (Changes from RFC 2141)

本文档对 RFC 2141 的语法和语义进行了实质性变更。

B.1. 语法变更

RFC 2141 中提供的 URN 语法是在 RFC 3986 更新 URI 规范之前定义的。本文档更新了 URN 语法定义,以实现以下目标:

主要目标

  1. 确保与 URI 语法的一致性
  2. 促进使用类似于 URI 查询和片段的参数的 URN
  3. 允许影响 URN 解析的参数
  4. 简化 URN 与包含 "/" 字符的非 URN 标识符系统的使用

具体变更

本规范进行了以下更改:

1. 扩展字符支持

扩展 URN 语法以明确允许字符 "/"、"?" 和 "#",这些字符在 RFC 2141 中被保留供将来使用。此更改还有效地允许 URI 语法的几个组件,尽管不一定将这些组件与 URI 语义联系起来。

2. 解析服务组件

定义了可在与 URN 解析服务交互时使用的附加组件的通用语法。

3. NID 限制

不允许在 NID 末尾使用 "-"。

4. NSS 字符集扩展

允许在 NSS 中使用 "/"、"~" 和 "&" 字符。

5. 其他调整

进行了几项较小的语法调整。

兼容性影响

这些变更提高了 URN 的灵活性和与现代 URI 系统的兼容性,同时保持了核心语义的稳定性。