Demystifying Domain Resolution
It Starts With You
When you search for www.yay.com in your browser’s address bar and hit enter, a kind of journey begins to find the directory (folder) containing the files for that webpage. A website is literally just a bunch of files in a folder on a server (powerful computer) somewhere. These powerful computers are connected to the internet and have a particular address known as an IP address.
An IP address is a long string of numbers (so inherently not very memorable). Words, however, are much more memorable, so we use domain names to search for websites instead, which are tied to their associated IP addresses with DNS records, stored on nameservers (more on those later).
Just like a street address, when searching for a website the computer starts at the end of the address and zeroes in by moving to the beginning. At the end of a web address is what’s known as a Top-Level Domain (TLD). These include ‘.com’, ‘.co.uk’, and ‘.new’ and are managed by the registry operators [1].
Back To The Browser
When you search for a website in your browser, the browser essentially queries a series of servers until it finds the website’s IP address, beginning locally and getting more and more remote.
First, the request reaches the ‘resolver’, which is usually your Internet Service Provider’s (ISP) server. This then forwards the request to the root server. There are 13 root server systems in the entire infrastructure of the internet, each with multiple physical servers distributed around the world for faster response times. The root server will refer the request to the appropriate TLD server.
The TLD server is the server that handles information for every domain name on its TLD, so for www.yay.com, the root server will refer the request to the TLD servers for the ‘.com’ TLD, which will, in turn, provide the authoritative nameservers for that domain.
All of this referring might seem confusing, but it ends with the authoritative nameservers. These are particular to each registrar [2] and hold the DNS records for all domains held with that registrar. These nameservers will respond to the incoming request with the IP address for the searched-for website.
Displaying the Website
Now that the resolver has the IP address for the website you wish to visit, it heads back to your computer with it and passes it through to the browser.
Your browser now establishes a connection with the IP address it has been provided and requests the website’s data (files and folders holding HTML, styling and image data). Once received, it will display the data as a website in the form we see every day.
Summary
To summarise, here is the entire process broken down:
- One: Your web browser queries the resolver for the IP address to a website. The resolver is usually your ISP’s server.
- Two: The resolver heads to the root server, which provides the TLD server address (starting at the end with ‘.com’).
- Three: The TLD server gives the resolver the address for the domain name’s nameservers.
- Four: The nameservers give the IP address of the website.
- Five: The resolver goes back to your computer’s browser with the IP address, whereupon the browser can establish a connection to that IP address and request the website data.
- Six: The browser interprets the data including HTML, styling and image files and displays them in a format we can see and understand.
Finally, it should be noted that, due to your browser’s caching process (and the caching process on each server), frequently accessed websites can be located quickly as they are stored in a cache somewhere in the chain, allowing the resolver to cut out later steps.
[1] Registry Operators
In the world of domains, there is a hierarchy with ICANN at the top as the head governing body, below which sit a number of registries or registry operators. Each registry is tasked with the role of keeping a master database of all domain names registered to its given TLD. Verisign, for example, is responsible for the ‘.com’ TLD, while Nominet is responsible for ‘.co.uk’.
[2] Registrar
Individuals who purchase domain names do so from a registrar. The registrar will communicate its name servers to the TLD registry operator. So, if someone purchases www.example.com from us at Yay.com (a registrar), we would provide the .com TLD’s registry operator (Verisign) with our nameservers. Any request to the .com TLD nameservers will then have a record of Yay.com’s authoritative nameservers, which will pull our data to fulfill any search request for www.example.com’s IP address.