摘要
- RFC 3367 为通用名称服务规定了查询、能力描述、结果、转介以及服务和数据集来源的共同格式。
- 服务如何被发现和选择、名称如何注册和拥有、是否唯一,都被明确留在范围之外。协议可以让回答彼此可交换,却不负责决定谁有权回答。
20 世纪 90 年代末,浏览器地址栏已经不仅接收 URL。用户会输入公司名、人名、书名或日常短语,门户与浏览器再把它解释为导航或搜索。问题在于,背后的专业目录并没有共同的查询接口。
Common Name Resolution Protocol 试图统一这段接口。2002 年成为 Proposed Standard 的 RFC 3367 使用 XML 表达请求和响应,把人类短语映射到预先建立关联的互联网资源。它不是另一个 DNS,也没有建立全球唯一目录。
规范中的“通用名称”没有强制语法结构。它不像 URI 那样自带标识结构,也不像 URN 那样要求关联唯一或持久。同一句话可以出现在多个服务中,并指向不同记录。规范从一开始就预期多个提供者并存。
CNRP 处理的是选定服务之后的事情。客户端可以先索取服务说明,了解它支持哪些属性和数据集,再提交查询。响应可以包含资源描述、状态和转介。聚合代理即使并行或串行询问多个服务,也能保留每条结果的服务与数据集来源。
共同核心很小:通用名称、服务内部标识、资源 URI 和描述。语言、地理、类别等属性可以缩小结果,但它们是尽力而为的提示。服务是否理解、怎样理解这些提示,本身就是服务差异,而不是所有实现必须给出相同排序的承诺。
因此,这不是开放互联网上的 SQL。查询条件不保证每条结果都逐项满足。服务可以返回它认为最接近的记录,也可以用部分成功状态说明某些属性被忽略、只使用了一个数据集,或某个转介服务不可用。
RFC 2972 把制度边界写得很清楚:服务发现与选择、服务管理、名称注册、名称所有权以及确保名称唯一的方法,都不属于初始协议范围。CNRP 能让客户端同一个已经选定的服务交谈,却不替客户端做出选择。
权威正是在这里进入系统。一个浏览器询问商业目录,另一个询问地区服务;它们可以用相同格式提交相同短语,再收到两个都合规的绑定。协议能展示来源,却不会宣布其中一个是全球答案。
公共名称空间更突出这种差异。人名、地名与作品名没有单一分配机构。两个服务可以用不同分类组织相似资源。RFC 2972 甚至承认,自由形式的类别关键词能否跨分类体系实现完整互操作,尚未得到证明。
RFC 3368 用 go: URI 把边界变成可见语法。一种形式指定服务器,另一种只携带查询,交给客户端已经配置的一组服务。同一个字符串复制到两台机器上,可能因为服务列表不同而产生不同结果。问题随 URI 传播,回答机构未必随之传播。
传输启动更确定。通用客户端与服务器必须支持在 1096 端口上用 HTTP 完成初次接触,之后服务可以宣告别的传输方式。这解决了如何联系一个已知目的地,却没有回答目的地如何被发现、为何值得信任。
转介又增加一层依赖。服务可以先给部分结果,再建议客户端询问另一个服务。客户端必须按服务和数据集组合记录访问历史,以便发现循环。只记主机名并不够;同一服务中的不同数据集可能代表不同遍历状态。
安全部分再次碰到范围边界。RFC 3367 讨论中间人、伪造 Service 对象与新增间接层带来的拒绝服务。Service 对象可以签名,但验证签名需要可信公钥。如何取得这把权威公钥仍在范围之外,因为它依赖服务发现。
签名能在信任根选定之后保护陈述,不能替系统选择信任根。密码学有效性与制度权威会相遇,却不是同一个判断。
今天,IANA URI 方案注册表仍把 go 列为 Permanent,并引用 RFC 3368;RFC 3367 仍是 Proposed Standard。这些是标准和注册保管事实,不是浏览器支持、服务器数量、流量或用户采用率。RFC 2972 对门户和浏览器集成的预期,也不能当作部署测量。
RFC 2396 与后来的 RFC 3986 提供 URI 通用语法;RFC 2276、RFC 2483 探讨 URN 周围的解析;RFC 3401 描述另一套动态委派发现体系。它们说明当时互联网正在密集探索“名称如何变成可执行资源”,但不能证明某套机制在运行网络中取代了另一套。
本文明确借用 Lu Heng 的两种分析视角。“Minimum Initial Specification”帮助解释为何共同层只规定最小、确定的交换,而把后来选择留给运行代码的参与者。“On Reality Layers”则要求区分协议合规、服务身份、数据集来源、返回绑定、资源可达与用户意图。
CNRP 的诚实之处在于承认复数答案:它保留来源,表达部分成功,也规定转介循环检测。但诚实不会消除分发权。谁控制初始服务列表,谁就在查询发出之前影响哪些数据集有机会回答。
RFC 3367 留下的历史边界因此很清楚:互联网可以统一提问方式,却不能仅靠报文格式统一回答权。协议停在这里,并留下足够来源信息,让认真检查的客户端知道这条边界存在。
来源
- RFC 3367
- RFC Editor 的 RFC 3367 记录
- IETF Datatracker 的 RFC 3367 记录
- IETF Datatracker 的 RFC 3367 历史
- RFC 3368
- RFC Editor 的 RFC 3368 记录
- IETF Datatracker 的 RFC 3368 记录
- RFC 2972
- RFC Editor 的 RFC 2972 记录
- RFC 2396
- RFC 2483
- RFC 2276
- RFC 3401
- RFC 3986
- IANA URI 方案注册表
- Lu Heng:Minimum Initial Specification
- Lu Heng:On Reality Layers
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
