Purpose of SOA record in DNS (apart from zone transfer)

Does the SOA record in a DNS zone file have any purpose whatsoever, apart from zone file transfers? If a DNS server does not rely on zone file transfer for replication (but instead relies on some distributed backend database), is there even any reason for having an SOA record? Looking thru DNS query logs, I've never even seen a client even request an SOA record.

I suppose the "primary nameserver" and "admin" fields could be of some use, but usually the primary nameserver is obtained via an NS record.


Yes, the SOA record serves a purpose regardless. While the SOA record is not typically queried directly by regular clients it is returned in negative responses!

If you were to analyze your nameserver's responses rather than the incoming queries I think you would see the SOA record a lot more.

However, some of the fields of the SOA record are no longer relevant if the zone transfer method that is part of the DNS spec is not used.


If we take a look of the fields of the SOA record:

MNAME: name of master nameserver. Used in the context of dynamic updates as well as in some cases as part of the zone transfer implementation.

RNAME: technical contact email. Not really used by the system itself but rather informational.

SERIAL: zone serial number, used for zone transfers.

REFRESH: refresh interval, used for zone transfers.

RETRY: retry interval, used for zone transfers.

EXPIRE: expire interval, used for zone transfers.

MINIMUM: used to be the minimum TTL but is nowadays used as TTL for negative responses.


So we can see that MNAME, RNAME and MINIMUM are not specific to the zone transfer spec.

Out of this, I would say that the way negative responses work in DNS and the SOA MINIMUM field in particular is the main reason why a SOA record is necessary regardless of how zone synchronization is implemented.
Because of this, you simply can't implement a properly working authoritative nameserver without having SOA record in each zone.