Some application clients use SRV lookups, a few (to their embarrassment) do not.

You've come to this page because you've said something similar to the following:

SRV record support hasn't even made it into web browsers yet, let alone clients of less-common protocols.

This is the Frequently Given Answer to such statements.

In fact, it is the other way around. The clients of the less-common protocols sometimes make good use of SRV lookups. Indeed, SRV lookups are in widespread real-world successful use, in systems such as Microsoft Windows NT Server networking.

Microsoft Windows NT Server networking is indeed one of the most widespread, but yet little known, examples of the successful use of SRV resource records, which it uses extensively for auto-locating LDAP (_ldap._tcp) servers, kerberos password change (_kpasswd._tcp) servers, kerberos KDC (_kerberos._tcp) servers, and Global Catalogue (_gc._tcp) servers.

Even that is knocked into a cocked hat by Zero Configuration DNS Service Discovery, available as a production system in Mac OS from version 10.4 onwards, which uses SRV resource records to advertise a lengthy array of services on LANs and WANs, allowing machines to locate such services when all that they have to start from is a domain name given to them in a DHCP lease. ZeroConf DNS-SD locates everything from LPR printer servers to iTunes servers using SRV resource records.

It is the HTTP clients (web browsers and proxy HTTP servers) that are, to their authors' embarrassment and shame, and despite the efforts of Rick van Rein and others, lagging behind here.

Application clients that use SRV lookups

Clients of many services do make use of SRV lookups. (Rick van Rein maintains an independent list.)

NICNAME clients that use SRV lookups

Old NICNAME clients come with lengthy configuration files that associate domain names with NICNAME servers, which eventually become out of date. In contrast, Modern NICNAME (a.k.a. "whois") clients make (_nicname._tcp) SRV resource record set lookups to find the correct NICNAME server, and need no such configuration files.

LDAP clients that use SRV lookups

The LDAP clients in Microsoft and Linux softwares perform (_ldap._tcp) SRV resource record set lookups to locate LDAP servers.

SMTP clients that use SRV lookups

Several modern SMTP Relay and SMTP Submission clients use (_smtp._tcp and _submission._tcp) SRV resource record set lookups to locate servers. (_submission._tcp is a simple use of the IANA assigned name for the protocol, and its use in several softwares pre-dated the existence of §3.1 of RFC 6186 by about a decade.) These include:

HTTP clients that use SRV lookups

A few modern HTTP clients use (_http._tcp) SRV resource record set lookups to locate HTTP servers. These include:

NNTP clients that use SRV lookups

A few modern NNTP clients use (_nntp._tcp) SRV resource record set lookups to locate NNTP servers. These include:

TELNET clients that use SRV lookups

A few modern TELNET clients use (_telnet._tcp) SRV resource record set lookups to locate TELNET servers. These include:

FTP clients that use SRV lookups

A few modern FTP clients use (_ftp._tcp) SRV resource record set lookups to locate FTP servers. These include:

Jabber clients that use SRV lookups

Jabber clients use SRV resource record set lookups to locate Jabber servers. This is, in fact, the preferred main mechanism for finding Jabber servers, per §3.2.1 of RFC 6120. These clients include, amongst many others:

SIP clients that use SRV lookups

SIP clients use SRV resource record set lookups to locate SIP servers. This has been a documented mechanism since RFC 2543 in 1999, and was elevated out of an optional mechanism documented in an appendix into the mainstream protocol with §4.2 of RFC 3263 in 2002. There are lots of SIP clients that use SRV lookups, this having been the norm in the SIP world for most of the 21st century.

Game clients that use SRV lookups

Calendar clients that use SRV lookups

As with SMTP Submission, CalDAV and CardDAV clients had actually been using _caldav._tcp, _carddav._tcp, _caldavs._tcp, and _carddavs._tcp, SRV resource record set lookups to locate servers some years before the publication of §11 of RFC 6352 and §3 of RFC 6764. The DaviCAL wiki, for example, documented how to construct SRV resource records for CalDAV and CardDAV clients from 2010 onwards.

The SRV Lookup Laggards' Hall of Shame

It is amazingly hard to convince the authors of certain particular application client softwares to use SRV lookups, even those authors that give examples of such lookups in their own documentation.

In fact, there's really only one class of applications softwares in the laggards category: web browsers and proxy HTTP servers. Even mail softwares (witness exim above) are capable of using SRV lookups nowadays.

HTTP Laggards' Hall of Shame

To the shame and embarrassment of their authors, web browsers and proxy HTTP servers still do not perform SRV lookups. Web browser software authors have still, 20 years (as of 2018) after the idea was first proposed, to add SRV lookup to their web browsers.


© Copyright 2004,2005,2009,2018 Jonathan de Boyne Pollard. "Moral" rights asserted.
Permission is hereby granted to copy and to distribute this web page in its original, unmodified form as long as its last modification datestamp is preserved.