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.

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. 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:

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, 11 years after the idea was first proposed, to add SRV lookup to their web browsers.


© Copyright 2004–2005,2009 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.