How Your Domain Name is Connected to Your Website: an Introduction to DNS

The Domain Name System

When you type a domain name into a browser, how does your request get routed to the web server that hosts your site?

If you own a domain name, you can "point" it to any server on the Internet. The domain name and the web server that responds to it are independent.

The distributed system that makes a specific web server respond to a particular domain name is called the Domain Name System, or DNS. DNS translates domain names into server addresses (IP numbers).

DNS is a distributed system that stores copies of lookup tables that translate from names to IP addresses in literally millions of places throughout the Internet. Fortunately, you don't need to know much about how it works; you just set the master DNS entries for your domain, and the system copies that information throughout the Internet.

There's three aspects of making your web site respond to your domain name:

  1. Registering the domain name with a domain registrar. This is how you get control over the name, and where you pay your annual fee.
  2. Your nameserver(s). The Domain Name System (DNS) is a distributed system, with each domain specifying which is the master nameserver that knows how to convert your site's name into a numeric IP (Internet Protocol) address.
  3. Your web server must be configured to accept traffic coming to your domain name.

Domain registration and providing nameservers are separate functions, but since every domain needs a nameserver, it is natural for domain registrars to also provide DNS services, and almost all of them do.

The registrar always provides a way for you to specify the nameserver for your domain. If the nameservers are provided by the registrar, the registrar will set this up for you automatically. If you want to use a different nameserver, you can; you need to enter two numeric IP addesses, one for the primay server and one for a backup server.

Changing your DNS settings

You don't necessarily need to change which nameservers you are using. If you're looking at something asking for two IP addresses, that's probably where to enter in the pointer to your nameservers. We find most customers are best served by letting the domain registrar provide DNS services (nameservers). Your domain registrar control panel should provide you with access to your DNS settings.

As long as the nameservers are provided by your domain registrar, or by another company that you are continuing to use for some services, then there is no need to change the nameserver IP address settings that your domain registrar provides.

If your web site is hosted on a server that you will no longer be using, and that server (or company) is also providing your nameserver, then you may need to move to another nameserver.

Updating your DNS records

The nameserver associated with your domain name is what connects you domain name to various services -- web servers, email servers, etc. The Domain Name Systems (DNS) is a large, distributed network on nameservers that all communicate with one another. All you need to do is update the information on your nameserver, and within a few hours countless namesevers worldwide will have your information. Note that because of this distributed nature, with cached copies of the information in many places, changes you make to your nameservers do not affect everyone immediately.

There are different types of DNS records. You can define some records for the base domain (i.e., and others for any number of subdomains (i.e.,,,, etc.).

A records typically point to a web server; you must specify a numeric IP address. The base domain (, with no www or other prefix) can only be set with an A record.

CNAME records also point a subdomain to a particular server, but they point to those servers using other domain names rather than a numeric address. So, for example, suppose your domain is You can create a CNAME fo the subdomain "www", and enter the value of "". When an access request is received for, the DNS system will see that the domain is a CNAME, find the reference value, perform another lookup on that value, in this case on, and finally send the request to the specified server.