Beernink.com Home | Books | Articles | Postcards | Hikes | Weblog  
Conscience is what hurts when everything else feels good.
How to Select a Web Host
What Is A Web Host

A web host is the company that "hosts" -- or provides a spot on the internet for -- your web site.  At the very least, they provide:

  • disk space to hold your web pages
  • a connection to the internet
  • a "web server" program that serves your web pages to viewers
  • a computer that runs the web server program

In addition to the essentials, web hosts usually provide additional services such as:

  • linking your domain name (www.yourdomain.com) to your web pages
  • a database for saving data to be shared between web pages
  • the ability to run programs of various sorts
  • tools that let you administrate your web site
  • email accounts

In selecting a web host for your site, there are a number of questions about the hosting service whose answers may affect your decision.  Here are a few you should think about:

  • how fast is their connection to the internet
  • do they have all the features that you want
  • how much do they charge for the set of features that you want
  • how good is their customer support
  • how often do they back up your data
  • how reliable are their computers and software

I recently selected a company to host this site, and since the decision making process is fresh in my mind, I thought I would share what I learned.  The rest of this article discusses the finer points of the topics and questions listed above.


Getting started

Before you start the process of selecting a web host, you need to have a pretty good idea of what sort of web-site you're going to build.  A good way to approach this is to make a list of your requirements.  Once you have a list of requirements, then you'll be able to evaluate hosts one by one and see if they meet your criteria.  Here are some of the things you'll need to decide before selecting your host

How much are you willing to spend? Web hosting can range from free to thousands of dollars per month, depending on what features you need.  Fortunately, the price of a basic website is quite affordable these days.  Here are the general price ranges:

  • Free:  If you are just starting out, or are on a tight budget, you can get free web hosting -- if you don't mind having banner ads on your page.  Examples >
  • $2-5/Month: For just a few dollars a month, you should be able to find a host that will provide a moderate amount of disk space and bandwidth, and may even allow you to run programs and use a database.
  • $10-30/Month: In this price range you should be able to get enough disk space and bandwidth to run most personal sites.
  • $30-50/Month: If you need to run Java Servlets, you'll probably end up in this price bracket.  Sites that run Java use more of the computer's memory than normal sites, so the host can't put as many Java sites on one computer.
  • $30-$100/Month: If your site needs a lot of disk space, or bandwidth, or database, or anything else, then it could push up into these price ranges.
  • >$100/Month: At this price, you can get a whole computer for just your site.  Example >

What OS do you want? Every computer runs its software on an operating system. Most web hosts use the exact same operating system and software on all their servers in order to keep things simple and eliminate errors.  If you don't know what operating system you prefer, go with whatever is cheapest.  The basic choices are:

  • Unix/Linux:  Unix and Linux are the most inexpensive options.  These machines tend to run open source software, which is free, so they are able to offer the best prices.
  • Windows: If your site uses pages that end in .asp, then it requires Active Server Pages, which only runs on Windows machines.  Also, if your site uses SQL Server as a database, then you'll probably want to choose a host that uses Windows machines. Examples >
  • Mac: If you want your site hosted on a Mac, either OS 9 or OS X, there are plenty of alternatives.  Examples >

How much disk space will you need? If your site will contain a lot of pictures or videos, then you will probably want to pay close attention to how much disk space each host's plan offers.  Otherwise, disk space is not likely to be an issue for you.  Most hosting plans that are not free offer enough disk space for a basic site, and give you the option to increase your disk space for a monthly fee. 

How much bandwidth will you need? Bandwidth refers to the amount of information that will be transferred over the host's internet connection when people view your web pages.  Bandwidth is typically measured in GB/month (gigabytes per month). If you multiply your average page size times the number of pages you expect people to look at, you can get a rough estimate of your bandwidth.  Let's assume the following page sizes:

  • 10K (10,000 bytes) per HTML page (no graphics)
  • 100K (100,000 bytes) per page (includes graphics)

If 1000 people each view 5 pages with graphics on your site per day, the bandwidth is (1000 x 5 x 100K x 30 days) or about 15 gigabytes per month.  If your pages are mostly text, your bandwidth would be (1000 x 5 x 10K x 30 days) or about 1.5 gigabytes per month.  These numbers are much larger than what you are likely to require for a personal web site.

One word of warning: 1GB means one gigabyte (one billion bytes) and 1Gb means one gigabit (one billion bits = 125 million bytes).  These terms are often used without further explanation and 'b' instead of a 'B' can make a big difference.


Domain Names

If you just want a website, and you don't care what internet address people use to get to it (ie. http://www.me.com versus http://www.myhost.com/~me), you can safely skip this section.  If you do want to get your own domain name, or if you just want to learn a little about how domains and domain names work, read on. One advantage of having your own domain name is that it is a permanent address: if you change web hosts in the future, the internet address of your website will not change -- you can update your domain name to point at your new host.

A domain name is a name that can be used to refer to something on the internet.  For example, my domain name for this website is beernink.com.  If you want to get your own domain name, then you can usually do it through your web host for around $25 per year.  But you can probably get a better price if you do it through a domain registrar.  It costs about $10 per year to register a domain name. Unfortunately, most common names are already taken, so you may have to get creative.

A subdomain is an extension to a domain. For example, I have set up home.beernink.com and bbs.beernink.com as subdomains.  If you don't want the expense or hassle of setting up your own domain  name, an alternative is to find a company that will do subdomain forwarding. With subdomain forwarding, you can get an address like http://myname.domainforwarding.com, and request that it be forwarded to the more complicated and possibly temporary address your web host has provided to you.

Having your own domain name enables some nice possibilities for your web site:

  • you can set up subdomains like download.yourdomain.com or store.yourdomain.com.
  • you can set up email addresses like yourname@yourdomain.com.

Of course, these are the types of features that web hosts like to charge more for, so think about which of these capabilities you might want, and pay attention as you evaluate the web hosting plans.


How Does the Internet Find My Web Site?

I'm glad you asked!  But if you skipped the previous section you'll probably want to skip this one too.  If you are getting your domain name through your web host, you won't need to worry about this, but if you already have a domain name, or if you are getting a domain name through a registrar, then this section is important.

Your web host runs a program called a name server.  This name server program, when passed a domain name such as www.yourdomain.com, will return a numeric address, known as an IP address, that is the internet address of the specific computer that is hosting your web site.

When somebody wants to view a page from your web site, their computer sends out a request to turn www.yourdomain.com into an IP address.  Skipping a whole bunch of intermediate steps, the request eventually goes to a central database that lists all the domain names that end in .com (in this case).  The database doesn't know your IP address, but it does know your name server.  Your name server returns your IP address, which can then be used to locate your web page.

When you sign up with a web host, the web host will give you two name server addresses. You must go to the web site of your registrar, and fill in a form telling them the addresses of your two name servers.  Once you have done this, your new address will be available throughout the world within 72 hours.

HowStuffWorks has a very complete description of how name servers work. >


Additional Features

Internet connection: All hosts will have a connection to the internet, but different hosts will have varying "response times," depending on several factors.  One way of checking the host's response time is to pay attention to how quickly pages from the host appear in your web browser.  If the pages appear quickly, then the host is likely to have a good connection.  If your web pages will be mostly text, then the internet connection speed is less important than if your pages are more complex.  If you have access to a "ping" program, you can use as one measure of how good a host's connection to the internet is.

 


Communication with the Host

 


Important Questions

 


Conclusion
For a nice site that helps you find a web host, see FindMyHosting.com.