You are starting a new side gig selling the beautiful jewelry that you make. You know that on-line sales will be essential for your success. You do have an Etsy account but want to reach even more customers by putting up a website. In researching how to do that, you find out that you need a “domain”. Most people probably understand that to be the unique name for your organization on the Internet. In this article, I want to explain a few of the details of how a registered domain works.
What is an Internet domain name? How do they work?
Domains registered on the Internet are ultimately authorized by International Corporation for Assigned Names and Numbers (ICANN). It organizes and maintains the Domain Name System (DNS). ICANN authorizes domain name registrars which are private companies who are authorized to register domain names, usually at a cost to the registrant. There are close to fifteen hundred authorized registrars.
The glue that holds the Internet together is the Domain Name System which I will refer to as DNS for the remainder of this article. When you type a URL into your browser address window, the browser breaks that URL into three parts: the protocol, the host address, and the path. Let’s take for example, URL https://tnotw.com/about.
In the URL above, protocol = “https”. You can think of the protocol as the format used when sending data between the browser and the server.
Host address = the domain and optionally port number. Since port number is not commonly used outside of development environments, let’s forget about that for now. Normally, the host address consists of only a domain name. For our example URL, the domain name is “tnotw.com”.
Path = the path to a specific document on the website. If path is excluded or denoted or “/”, then the “root” path is assumed. That normally the path to your site home page. In our example, the path “/about” points to the about page on the website.
Once the browser has the domain name, it must determine the IP (Internet Protocol) address of the server on which the tnotw.com website resides. The IP address is a number, basically a street number on the Internet. They usually look something like “10.23.1.44”, for example. This is another case that illustrates how humans prefer to reference the world using names that contain meanings which make them easier for us to remember. On the other hand, computers internally process the information we feed to them as numbers. This is where DNS comes in. You can think of DNS as a black box (no doubt with millions of moving parts all around the globe) into which you can plug in a domain name, and it will crank out a number which is the IP address for that domain. So, one of your browser’s first steps that it executes for you when visiting a website is to convert the domain name in the URL to an IP address. It uses that IP address when retrieving and sending data to the web server. And never do you need to know that the real address is “22.214.171.124”
What happens when you register a domain?
When you register a domain by going to an accredited registrar such as Namecheap.com, you are purchasing a spot in the Internet “name space”. The name that you register is unique and owned solely by you or your organization as long you pay your annual renewal fee.
Just after you register a domain name, it is usually referred to as being “parked”. All that means is that the registrar assigns a temporary IP address to your domain that points to a webpage that often says something like, “this domain is parked.”
How do you get your domain to point to your website?
If we open the black box that is DNS, we find that it is comprised of a vast network of “Name Servers”. Name servers house databases of Internet names and their associated addresses. Each registered domain has one or more of its own name servers. Most, but not all, domain name registers provide name servers that you can use for maintaining the records for your domain.
After you registered a domain, most registrars will provide a user interface that you can use to maintain your DNS records. When you make changes via that UI, the information is stored on the registrar’s name servers.
The DNS database for a domain can contain a number of different types of records. As a casual web consumer, you will likely encounter: “A” records, which equate a hostname (or domain name) to an IP address. For tnotw.com, there is one “A” record that basically says “tnotw.com” = “126.96.36.199”.
So, to get your domain to point to your website, you need to know the IP address of the server that has been assigned to your website by your hosting provider. It is common when developing a new website to perform the development under a temporary domain. For example, while I am developing the website for tnotw.com, my provider will give me a “subdomain” under their domain that I can use during development, such as “newtnotw.wpengine.com”. When I am ready go live, I go to the WP Engine dashboard to find the IP address for my server. Then I go to the DNS database on my registrar and set the IP address for tnotw.com to that address. In addition, there are a couple of things that need to be done on the WP Engine dashboard to let the new website know that its name is now “tnotw.com”. Once that is done, the new site is live at my registered domain name.
Which domain name registrar should I use?
Since there are hundreds of domain name registrars out there it is hard to know which one to use. You could probably throw a dart and make out OK but some are definitely better than others. You definitely should avoid a registrar that does not provide name servers. You should also pick on that supports domain name forwarding. Domain forwarding allows you to forward web requests to a specific URL (or web page). You may not ever need it but, for example, if you decide to move your organization to a new domain name, you can have the old domain forward to a page on the website for the new domain. So, all requests to https://myolddomain.org would forwards to https://mynewdomain.org/we-have-moved.
Another important feature that your registrar should support is the ability to delegate to a developer administrative access to your DNS records. In addition to setting up the A record describe above, there are number of others that usually need to be created a maintained, many of them related to email delivery. If you want hire someone to deal with all of the complexities around that, then you will need be able to give a developer access to your DNS records. Without a delegation mechanism, it would be necessary to share credentials vie email, which should be avoided to be safe.
I have used several different registrars of the years. In my opinion, of those that I have used, Namecheap.com is above and beyond the best. There prices are competitive, they have an intuitive user interface and my clients have no problems delegating access to DNS.