Computers connect to each other by numbers, called IP addresses. People use names. DNS, the Domain Name System, is the service that connects the two. DNS resolution is one lookup in that service: you give it a name, and it gives back the addresses.
Before a browser can request a page from example.com, it must resolve the name. If that step fails, nothing else happens, however healthy the server is.
How a lookup works
A lookup normally passes through three kinds of server (RFC 8499 defines the terms):
- The stub resolver on your device. It does not do the work itself. It passes the question on.
- A recursive resolver, usually run by your network provider or a public service. It finds the answer, and remembers it for a while.
- Authoritative servers, which hold the records of a zone, the part of the name space they are responsible for. They answer from their own data.
The recursive resolver asks the servers above the domain, step by step, which servers are authoritative for it, and then asks those. The answer travels back down.
A and AAAA records
Records are the entries in a zone. Two of them give the address of a host:
- An A record holds an IPv4 address, for example
192.0.2.10(RFC 1035). - An AAAA record holds an IPv6 address, for example
2001:db8::10(RFC 3596).
A name can have several of each, and a site can have only A records. Both are normal. A CNAME record is a different thing: it says that one name is an alias of another.
What the answer can say
| Answer | Meaning |
|---|---|
| Addresses returned | The name resolves |
NXDOMAIN |
The name does not exist |
| Empty answer with no error | The name exists but has no record of the requested type. Sometimes called NODATA |
SERVFAIL |
The server could not complete the lookup because of its own problem |
| No answer | The query timed out |
NXDOMAIN is the common name for "name error". The most frequent causes of it are a mistyped name, a deleted record, and a domain that has expired.
Caching and TTL
Every record has a time to live, or TTL, which tells resolvers how long they may keep the answer. Caching makes DNS fast and cheap. It also means that a change takes time to be seen by everyone. Failed answers can be cached as well, so a name that did not exist a minute ago may keep failing for a while after you add it.
Resolution is not the same as DNS health
A name that resolves is only the first step. The address may point to the wrong server. One of two address types may be broken. A record may be correct today and altered tomorrow. A successful resolution tells you the lookup worked, not that the setup is right.
DNS resolution in UptimeWire
UptimeWire resolves the host name of each website once an hour with the standard system resolver. The check passes when the name resolves to at least one public address. It fails when the name does not exist or has no public address. If the name server does not answer, the result is shown as unknown rather than as a failure.
It does not track changes to records, propagation, other record types, or DNSSEC. To investigate a failure, see How to Troubleshoot DNS Resolution Errors.