DNS, explained
How a website name becomes a network address, what DNS records mean and why a changed address can take time to appear.
DNS stands for Domain Name System. For a website visit, it helps turn a name such as example.com into an IP address, the numerical address used to reach a computer on a network. The browser can then use that address to connect. Finding an address and loading a page are separate jobs.
Follow one lookup
Imagine opening example.com with no useful saved answer or saved directions. The name and 192.0.2.10 address in our graphic are reserved documentation examples. They do not describe a live shop or a measured customer system.
- Your device asks a resolver, a service that finds DNS answers on your behalf. It might be supplied by your internet provider or another DNS operator.
- The resolver asks a root nameserver where to find information for .com. A nameserver is a computer that holds DNS information. The root returns a referral to the relevant .com nameservers.
- A .com nameserver points the resolver to the nameservers responsible for example.com. It does not return the website page.
- The domain’s authoritative nameserver, meaning the server that holds its published DNS records, supplies the address in this simplified example.
- The resolver returns the answer to your device. The browser can then connect to that address and request the website.
This is a deliberately simple lookup. A resolver can skip steps when it already has usable information saved. An alias can require further lookups, and a name can return several addresses. The diagram’s single address is an illustration, not a rule that every name has exactly one server.
The record type tells you what the answer means
- A records associate names with IPv4 addresses, the dotted-number format shown in our example. AAAA records serve the same purpose for IPv6, a different address format.
- CNAME records make one name an alias of another. The target name still needs to be resolved to an address for a web connection. An alias alone is not a browser redirect to another page.
- MX records identify mail servers for a domain. They guide email delivery and do not choose which website appears in a browser.
Why an address change can take time to appear
A cache is a saved copy of an answer. Reusing a valid cached answer avoids asking the same questions repeatedly. A DNS record’s time to live, or TTL, tells a resolver how long it can normally reuse that answer before refreshing it.
Resolvers can obtain their copies at different times. Our two countdown bars are illustrative, showing 60 and 240 seconds remaining from a 300-second lifetime. They explain how one visitor’s resolver can refresh sooner than another’s after the published address changes. They are not measurements or a recommended setting.
A lower TTL allows faster normal refreshes but means more frequent lookups. A higher TTL lets answers be reused for longer, which can reduce lookup work but prolong the use of an old address. Changing a TTL does not rewrite copies that have already been cached with the earlier value. Plan a lower TTL ahead of a move and allow the previous lifetime to pass.
The countdown is a model of normal behaviour, not a guarantee that every visitor changes over at one exact second. Browsers and operating systems can cache information too, and some resolvers can serve stale data during an upstream failure to preserve availability. Existing connections and website-level caches can also affect what someone sees.
What we would check first
We would compare the record at the authoritative nameserver with the answer returned by the resolver a visitor uses. If they differ, that helps separate a cached answer from an incorrect published record. If both return the intended address, the next checks belong to the connection and the website itself.
DNS success does not prove the website is healthy or that a connection is secure. Keep the two questions separate. Did the visitor get the intended address? Can their browser connect and load the expected page? That distinction avoids changing application code to solve an address-lookup problem.