在URI语法中支持zeroconf的最佳方法?

时间:2009-10-13 20:54:07

标签: uri zeroconf

在URI设计的位置段中支持zeroconf名称的最佳方法是什么?

RFC 3986(统一资源标识符(URI):通用语法)没有提到zeroconf,我担心URI语法的设计不能超越DNS解析。

理想的答案语法将:

  1. 符合通用URI语法
  2. 使用多字节字符处理zeroconf名称

3 个答案:

答案 0 :(得分:2)

以下是一些选项:

dnssd://local/_printer._tcp/Fancy printer/
dnssd://Fancy printer._printer._tcp.local

这些字符串是IRI,而不是URI,以解决i18n问题。

另请参阅rendezvous-dev。中的a discussion

答案 1 :(得分:1)

嵌套URI是另一种向后兼容的方法。嵌套URI定义了与zeroconf等发现协议一起使用的位置。

参见'嵌套统一资源标识符'manuel urena和david larrabeiti

然而,我没有找到证据,这种方法被广泛使用。

答案 2 :(得分:0)

通用资源标识符是查找资源的通用方法。对于国际化,您可能需要检查几乎相同的IRI,但允许完全兼容Unicode。它没有提到Zeroconf的原因是URI是一种通用协议。 Zeroconf可能使用URI作为其发现协议的一部分,但URI永远不会在其协议中使用特定的实现(你不会在其中找到ftp:,https:,mailto:,skype:等)

Zeroconf是一种自动配置网络并发现可用服务的协议。它由三部分组成,地址选择(IPv4 / 6的一部分),名称解析(mDNS)和服务发现(UPnP(微软),DNS-SD(Apple))。现代操作系统支持所有这些开箱即用。

如果我们采用UPnP,则发现基于URI,iirc完成。返回的信息以XML格式提供。 XML可以是任何Unicode编码。如果您是设备驱动程序制造商,则可以在其中放置任何字符。最后阶段可能是演示文稿,这是一个URL,但这是可选的。

URI / URL既支持国际化字符,又只是转义而不是域名部分。

- Abel -