The difference between "hosting" and "domain"

For anyone familiar with building or maintaining a Web site, this difference may seem elementary; however, we understand that for many non-technical clients or clients new to administering a Web site, the differences between what “hosting” is and what a “domain” is can be somewhat murky waters. Here’s a quick KB article to clarify:

What is Hosting?

Hosting is the physical space on which the site’s files will sit. It is a computer (“server”) located in a datacentre somewhere. When purchasing, it will offer such features as:

  • Operating System (OS): Server operating systems can come in a wide variety of flavours depending on what is required of the server. However, the two most common being Linux running Apache or Windows running IIS. Which you will need will depend greatly on what you require of your Web site — discuss this with your designer/developer before you purchase hosting.
  • Storage/Space: Measured in MB or GB, this is the amount of physical space on the computer you have access to. Comparing this to your home computer, this would be the size of the hard drive.
  • Bandwidth: This is the amount of data transfer you are allowed. When someone visits your site, the page they are viewing is effectively “downloaded” to their computer’s browser for viewing. So all images, text, etc. is transfered from your server to their computer. This transfer is what counts towards your bandwidth. So, for example, if you have a very “heavy” site with lots of images, mp3 music streaming, self-hosted videos, etc. — you will want a hosting provider that gives you a lot of bandwidth to use.
  • Databases: Most modern hosting packages come with at least one, but usually multiple databases — the most common on Linux/Apache servers being MySQL databases. These are used by various Web applications that you may install — such as a CMS like WordPress, Drupal or Joomla. Web applications can be dependent on a certain type of database, so be sure to discuss this with your developer before purchasing hosting.
  • Pricing: This can vary greatly, but will generally fall somewhere in the range of $5-20 for shared hosting, $20-80 for a Virtual Private Server (VPS) and $100+ for a dedicated server. What you need will, again, depend greatly on what your site requires. While cheaper shared hosting plans are attractive to new site owners, it is important to consider that should your site start receiving a serious amount of traffic, the shared hosting will simply not be enough power — despite the claims made by the hosting company in regards to “storage” and “bandwidth”. This is because shared hosting generally has strict caps on two things hosting companies rarely add as features — CPU speed and memory access. These are “shared” with other hosting accounts on a shared hosting setup, and if your site starts eating into the shared allowance, your hosting company might suspend or even remove your account. The take away? Plan ahead a bit.

What is a domain?

A domain is simply the address that directs an Internet browser to the server’s location (which without a domain is just a string of numbers called an IP address, ie 216.239.51.99). Domains are registered at what is appropriately called a “domain registrar”. Sometimes this process is convoluted by hosting companies offering free or discounted domain registration services with their hosting packages, or vice versa, domain registrars offering hosting services (ie. Omnis.com, GoDaddy.com, etc.).

It is our opinion that domains and hosting should be handled separately, as this maintains a certain level of flexibility down the road should you decide to change either hosting companies or domain registrars. Having them tied together can complicate this process. The pricing of a domain is low enough that for anyone serious about starting a Web site, a “free domain” really isn’t worth the potential headaches the “freebie” can bring.

Domain pricing can vary widely based on the TLD (.com, .org, .net, etc.) chosen. For common TLDs, prices are generally $8-10 per year.

How the two connect

So, now that we’ve laid out how the two are different, the question remains — how do the two interact?

To connect a domain with a server (hosting), you use what is called DNS information. While there are more complicated ways of handling this that allow additional flexibility, the easiest way to connect a domain to a server is by using the server’s nameservers. These act essentially as a map or directory to tell the Internet what IP addresses (servers) connect to what domains (human-readable addresses).

Your hosting provider will supply you usually with two or more nameservers for their service. You then simply pop into your domain management area (this information would be provided by your domain registrar) and look for something along the lines of “modify nameservers” or “modify DNS”. By default this is set to the domain registrar’s internal nameservers. Simply change them to those provided by your hosting service and click save. You’ll know you’re looking at the right settings if what you’re looking at starts with “ns” or “dns” — such as “ns1.example.com” or “dns2.example.com”. There are variations, but those are the two most common.

Once the changes are made you’ll need to wait a little while for the information to be updated around the Internet (what is called “propagation”). This can take as long as a few days, but in practice usually takes less than a few hours.