Your first decision will have to be whether you need a paid or a free web host. With the price of plans offered by quality hosts falling down to very affordable levels, only the simplest and less popular sites should consider being hosted by Geocities, Tripod, or other free hosts. Some major differences are the number of features offered by paid hosts (like more disk space, access to multiple programming languages, databases, SSL servers, anon FTP, regular backup, guaranteed uptime, access to server configuration files like .htaccess and to raw logs and statistics), the forced ads and pop-ups required by free web space providers, better financial stability of paid companies, and the availability of technical support. In short, if you expect to spend more than couple hours making your web site, go with a paid service.
Your next big decision should be whether to choose an NT or Unix-based host. Which operating system you decide to use should depend on what features you need. For example, if you are already using IIS, ASP, VBScript, Microsoft SQL Server, or Visual InterDev, and you don’t have the time to learn Unix-based solutions, you should choose a Windows NT or Windows 2000-based host. Linux- and FreeBSD-based operating systems and Apache Web servers are most common among web hosting companies because of their good track record of stability and performance and because they are free.
There is usually no need for the operating system of your computer to match that of your web host. If you use Windows XP on your home computer, there is no reason you can’t use a host that runs its servers on Linux.
Next, you should calculate how much disk space your site will need. A vast majority of sites that don’t have tons of graphics, sound and video clips or downloadable files easily fit in 50 MB of disk space. You should always leave yourself some room for growth or check if the host has a bigger plan in case you need to upgrade.
Your next calculation should be how much data transfer you will need. You can estimate your needs by looking at your average page size (including graphics!) and multiplying it by the number of page views you expect to have in a month. For example with an average page size of 50 KB, and around 2000 page views per day, you will transfer an average of 3 GB per month. You should get a plan with 4 to 5 GB of data transfer limit per month, so you don’t have to worry about overstepping your account’s limit, which may cause extra per GB transfer charges. If your calculations or your previous experience show that you can expect over 50 GB in transfer per month, you should look into getting a dedicated server.