Skip to main content

4.3. URN 和相对引用 (URNs and Relative References)

[RFC3986] 的第 5.2 节描述了一种算法,用于将可能相对于给定基 URI 的 URI 引用转换为该引用目标的"已解析组件",然后可以根据 RFC 3986 第 5.3 节重新组合为目标 URI。该算法对于 URN 来说是有问题的,因为它们的语法不支持必要的路径组件。

然而,如果该算法独立于特定方案应用,它应该对 URN 也能够可预测地工作,但需要以下理解(语法产生式术语取自 RFC 3986):

  1. 遇到符合 <relative-ref> 语法的 <URI-reference> 的系统,无论它是否明确具有方案 "urn",都将按照 RFC 3986 中的规定将其转换为目标 URI。

  2. 由于 URN 的持久性和稳定性期望,使用 URN 的文档等的作者通常应避免在任何不严格是 RFC 3986 中指定的 <URI><URI-reference> 中使用 "urn" 方案,特别包括那些需要处理 <relative-ref> 的引用。