2.3.1. r-component
r-component 旨在向 URN resolution service 传递参数 (广义而言, 见第 1.2 节), 并由这类服务解释. (相比之下, 向 URN 标识的资源或管理该资源的应用传递参数, 由 q-component 处理, 如下一节所述.)
在任何其他已知 URI scheme 中, URN r-component 都没有对应的语法组件.
序列 "?+" 引入 r-component. r-component 以序列 "?=" (开始 q-component) 或 "#" 字符 (number sign, 开始 f-component) 结束. 如果两者都未出现, r-component 延伸到 URN 末尾. 注意, ASCII 范围 [RFC20] 之外的字符必须使用通用 URI 规范 [RFC3986] 第 2.1 节中定义的方法进行 percent-encoding.
如第 3 节所述, 在确定 URN-equivalence 时不应考虑 r-component. 然而, 向 URN resolution service 提交请求时, 应将 r-component 与 URN 一并提供.
本文档仅定义 r-component 的语法, 并将其保留供未来使用. r-component 的确切语义及其在 URN resolution protocol 中的使用, 属于可能在单独规范中标准化的事项, 这些规范可能包括为 resolution service identifier 定义约定和注册表的规范.
考虑一个向 resolution service 传递参数的假设示例 (例如, 使用 ISO alpha-2 国家代码 [ISO.3166-1], 以选择搜索某本书实体纸质副本的首选国家). 这可以通过在 r-component 中指定国家代码来完成, 从而得到如下 URN:
urn:example:foo-bar-baz-qux?+CCResolve:cc=uk
虽然上述内容应被视为对 r-component 意图的一般解释和说明, 但围绕它们仍存在许多开放问题, 包括它们与特定 URN namespace 在注册时关联的 resolution mechanism 之间的关系. 因此, 在其语义标准化之前, 不应在 URN 中使用 r-component.