Best way to support zeroconf in URI syntax?

What is the best way to support zeroconf names in the location segment of a URI design?

RFC 3986 (Uniform Resource Identifier (URI): Generic Syntax) makes no mention of zeroconf, and I'm afraid the URI syntax is not meant to work outside of DNS resolution.

the ideal response syntax would be:

  • matches the syntax of a generic URI
  • multibyte-character descriptor descriptor names
+2


source to share


3 answers


Here are some options:

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

      



These lines are IRIs, not URIs, to resolve i18n issues.

See also the discussion at rendezvous-dev.

+2


source


nested URI is another approach that is backward compatible. the nested URI specifies a location for use with discovery protocols such as zeroconf.

see "Nested Uniform Resource Identifiers" by manuel urena and david larrabeiti



However, I find no evidence that this approach is widely used.

+1


source


An URI is a common way to find a resource. For internationalization, you can check the IRI, which is pretty much the same, but allows full Unicode compatibility. The reason he doesn't mention Zeroconf is because URI is a generic protocol. Zeroconf can use URIs that are part of their protocol for discovery, but URIs will never use a specific implementation in their protocol (you won't find ftp :, https :, mailto :, skype: etc there either)

Zeroconf is a protocol for automatically configuring a network and discovering available services. It has three parts: address selection (IPv4 / 6 part), name resolution (mDNS), and service discovery (UPnP (Microsoft), DNS-SD (Apple)). Modern operating systems support all of this out of the box.

If we take UPnP, the opening is done based on the URI, iirc. The returned information is provided in XML. XML can be any Unicode encoding. If you are a device driver manufacturer, you can place any character there. The final phase can be a presentation, which is a URL but is optional.

URIs / URLs support internationalized characters, but only escaped and not part of the domain name.

- Abel -

0


source







All Articles