In the course of doing business the last few weeks at Agency Fusion I’ve had quite a few conversations where I’ve ended up explaining how domain names, hosting, and nameservers work and interrelate. Seems like a good sign that a clear, easy-to-understand explanation is in order.
To make as much sense as possible, let’s walk through a typical scenario where we’re setting up a website for a client. We’ll assume the design and development of the website are already done.
One important point to make before we get started is that you can often get everything you need from just one vendor (domain, DNS, and hosting) which is a convenient way to get it done. For our example we’ll assume you’re doing it all separately though, as it’ll help illustrate how all of the pieces fit together.
Step one is getting a domain name. You know, it’s the address for the website, like agencybyte.com.
To purchase a domain name we’ll need to use a registrar. Register.com and GoDaddy are two common registrars who have permission from ICANN to sell domain names.
Pricing for domain names is all over the map, from a few bucks to fifty dollars or more. Registrars all sell the exact same domain names so the only difference between them is the service they offer. It’s kind of like buying airfare from Expedia, Travelocity, or Orbitz. They’ll all sell you the same Delta flight but prices might vary and the extra services they offer might vary too. In the end, though, you’ll still be sitting in the same cramped seat on the exact same Delta flight regardless of who sells you the ticket.
Speaking of extra services a registrar might offer, be aware that you don’t actually need any of their services no matter how critical they may make it sound. Because domain name reselling is a lower-margin business than it used to be, upselling you on other stuff is their main game now. If in doubt, just buy the domain name.
We need to explain one more important thing about domain names before we move on. Every computer on the Internet has a unique number. It’s called an IP address. It’s like a phone number for each computer. That’s oversimplified, but it works for our purposes. A domain name is like an alias for that IP address…a more memorable way of identifying a computer on the Internet.
So…when you type in agencybyte.com that’s just an easier way of getting to my blog than remembering the IP address (18.104.22.168). Again, this is somewhat simplified, but that’s the goal right? To make this stuff easier to digest?
Nameservers (or DNS)
Step two is setting up nameservers or DNS for our newly-purchased domain name.
DNS is a commonly used acronym which, depending on context can mean Domain Name System or Domain Name Servers. Can you use it in a sentence, please? Sure…people usually say something like, “I need to setup DNS for my new domain name.” Or, they may ask, “What are the nameservers for our new domain?”
DNS is the least tangible and typically hardest part of the whole website setup process for people to understand so I’ll try to make it really simple.
Remember how the domain name (agencybyte.com) is like an alias for the IP address (22.214.171.124) of my blog? Well, someone has to keep track of that information. Someone has to be in charge of saying that agencybyte.com should “point” to 126.96.36.199. This is where DNS comes in.
Quite often the same company who sells you your domain name will also maintain this information but there are also companies who specialize in providing DNS services, such as EveryDNS.net. They have domain name servers, which are computers that keep track of all of this and are in charge of telling everyone that our new domain name goes to the IP address of the computer which has our new website hosted on it.
Makes sense right? Our new website won’t be hosted or stored on the same computers as, say, Apple’s website right? So there needs to be a way for domain names to take us to the right computers when we type them into our web browsers.
Now that we’ve mentioned that our website’s files won’t be on the same computer as apple.com or agencybyte.com, we’d better talk about where our website will be hosted.
So at this stage we have a domain name and we also have domain name servers making sure that our domain name is properly routing visitors to our website when they type in the domain name.
Our actual website is just a bunch of files. HTML files, CSS files (stylesheets), images and photos, etc. All of these files need to be in a folder on a computer that is connected to the Internet. That computer is usually called a “server” because it serves up our website files when people come to visit. When you pay a company to put your files on their web server, you’re buying hosting. They are hosting your website on their servers.
So now that we have it all setup, here’s what happens when you visit the new website.
You type the domain name into your web browser. The DNS makes sure you get connected to the right computer. And that computer or server has your website files hosted on it. Let’s look at a diagram to make sure this all clicks in your head.
Hopefully this overview of hosting, domain names, and DNS will at least provide some additional insights into how these important pieces of the Internet work. If you have any questions about something that isn’t clear or ideas to help other readers better understand this stuff, please post a comment below!