What is DNS and why you, as a WEB Developer should know about it?
Consider the DNS protocol to be the phonebook of the internet, every time when a website is visited, your computer performs a DNS Lookup. But what is a DNS Lookup why the need of a DNS Lookup?
We know that each website is hosted on a machine and each machine has an IP address. Lets take my blog as an example, the domain sebastianvirlan.com is just an umbrella over the 22.214.171.124 IP address. But where does the Domain -> IP resolver sits?
When you hit sebastianvirlan.com, your browser uses the stub resolver (a stub resolver is a very simple DNS-client tool, usually part of the operating system), to start the translation process from the domain name to IP address. The response of the stub resolver is sent to a more complicated DNS client called a recursive resolver.
A recursive resolver is where one DNS server communicates with several other DNS servers to hunt down an IP address and return it to the client, so the DNS Servers eliminates the need for people to memorize IP addresses. Oh, wait, DNS Servers? These servers can be public or they can reside in your ISP’s data centers. When you type a domain in the browser:
- If it has the domain name and IP address in its database, it resolves the name itself.
- If it doesn’t have the domain name and IP address in its database, it contacts another DNS server on the internet.
We mentioned about DNS servers, which can be many types and have different responsibilities:
- Root Servers – contain the information that makes up the root zone, which is the global list of top level domains
- TLD Servers – maintains information for all the domain names that share a common domain extension, such as .com, .net, or whatever comes after the last dot in a URL
- Authoritative Servers – responsible for providing answers to recursive DNS nameservers about where specific websites can be found
Now that we have a base ground about DNS, next Tech Coffee post will be about DNSSEC. 😊
Inspired from DNSSEC – What Is It and Why Is It Important?