跳到主要内容

4.3. URN 与相对引用

[RFC3986] 第 5.2 节描述了一种算法, 用于将可能相对于给定 base URI 的 URI reference 转换为该引用目标的 "parsed components", 然后可以按照 RFC 3986 第 5.3 节重新组合为 target URI. 对 URN 而言, 该算法存在问题, 因为 URN syntax 不支持必要的 path component.

然而, 如果该算法独立于特定 scheme 应用, 则在以下理解下, 它对 URN 也应能以可预测方式工作:

  1. 系统遇到符合 <relative-ref> 语法的 <URI-reference> 时, 无论它是否显式具有 "urn" scheme, 都会按照 RFC 3986 的规定将其转换为 target URI.

  2. 由于对 URN 有持久性和稳定性预期, 使用 URN 的文档作者通常应避免在任何不严格属于 RFC 3986 所规定 <URI><URI-reference> 中使用 "urn" scheme.