Now let's think about the kind of hosting arrangements there are, and what you need.
<p>The first question to consider is the level of needs you have. This question goes back to the step of brainstorming your site's purpose. Depending on the purpose you will need lesser or greater levels of service from your web hosting service provider.</p> <p>Here's a few types of needs to consider:</p> <ul> <li><i>Need e-mail only, no web site</i>: You just want an email address and do not care about having a web site. </li> <li><i>"Static" web site, no fancy multimedia</i>: That is, a web site where you write the web pages and post them and that's it. The word "static" implies that the pages stay the same each time someone views them. </li> <li><i>"Dynamic" web site</i>: The distinction between "static" and "dynamic" is that for a "dynamically generated" page some software runs inside the web server to create the actual content of the page each time it is viewed. </li> <li><i>Wiki, weblog, forums, etc</i>: These are specialized forms of dynamic web sites. You may find service agencies who will host the sites for you. </li> <li><i>Mailing lists</i>: Mailing lists can be used for discussion or one-way announcements, and are a very ancient and time-honored way on the Internet of connecting groups of people together. </li> <li><i>Catalogs and shopping carts and e-commerce</i>: This is if you're going to sell things that you stock in a warehouse and ship to customers. </li> <li><i>Fancy multimedia</i>: Streaming multimedia such as Real Video, Windows Media or Quicktime. These require specialized server software. </li> <li><i>You are expecting high traffic loads</i>: Are you aiming to reach a zillion people per day? You'd better have web servers that can handle it. </li> <li><i>Chatrooms</i>: </li> </ul> <p>Each of these needs in turn presents different requirements of the server you end up renting. It's important to understand why, so next I'm going to list the types of web hosting arrangements you can get, and the types of services you can do with each.</p> <ul> <li><b>Shared hosting, FTP access to site</b>: "Shared hosting" means that more than one web site, with more than one customer, is hosted on the server computer. In other words, the server is shared among more than one customer. The "FTP access" refers to the protocol used to upload web content to the web site. Every web editor supports the FTP protocol. This is almost always the cheapest hosting plan you can find, and is sufficient for many needs. (specifically "<i>static content, no fancy multimedia</i>") </li> <li><b>Shared hosting, Front Page extensions</b>: This plan is the same but adds the "Front Page extensions" allowing users of Microsoft's Front Page software to upload their web content in the special proprietary protocol used by that application. Often this costs a few dollars extra per month, but may be included with the basic package. </li> <li><b>Shared hosting, shell access, CGI support</b>: The "shell access" and "CGI support" features are useful for web sites requiring software to be written. "CGI" is a software technique often used for dynamically generated web sites. CGI software is usually written in the "perl" or "php" programming languages. CGI support is one way to install wiki, weblog or forum software on the web site. </li> <li><b>Shared hosting, streaming video</b>: Streaming video or audio is very bandwidth intensive, and requires special server software. It always comes at a cost, and few web hosting providers give you this capability at all. </li> <li><b>Shared hosting, shopping cart service</b>: If you want to set up a store on a web site, you need some kind of shopping cart system letting your visitors put together an order. The shopping cart service requires special software in your web site, and requires the CGI support (above). It of course also requires that someone enter products into the catalog database, handle orders from the web site, arrange for shipping, etc. </li> <li><b>Managed server</b>: Sometimes your needs are big enough you can justify renting an entire computer. Renting an entire computer is more expensive than any of the shared hosting arrangements, and requires that you have a technical system administrator to support you. "Managed" servers are a middle step in which the web hosting company is very involved with day-day management of that server, keeping the software patched with the latest updates, and so on. You will need this level of service when your bandwidth is high enough, or the software inside the web site requires enough computing power that it overwhelms a shared server. Having a whole server computer lets you implement any of the fancier web site features already discussed, and much more. </li> <li><b>Dedicated server (unmanaged)</b>: A "dedicated server" is like a managed server, but you are in more control of maintenance of the computer. The costs will also be high, but less than for a managed server. </li> <li><b>Virtual Private Server (VPS)</b>: Is a step between shared hosting and a full dedicated server. A VPS is created through magical software that gives you the illusion of having a full server computer of your own, but the hardware is still shared between multiple customers. The cost is in-between shared hosting and dedicated server arrangements. </li> <li><b>Co-location</b>: A co-location arrangement is similar to managed or dedicated servers, in that you have an entire server computer dedicated to your web site. The difference is that you own the actual computer, and you are not renting it. You're still going to be renting space in a machine room and paying for bandwidth, but at least the computer is yours. Your computer must be installed in the web hosting providers server room, and they manage certain aspects but largely it is your computer and you are entirely responsible for it. </li> <li><b>Multiple servers with load sharing</b>: For high volume web sites you'll need to think about sharing the load across multiple computers. This can be pretty complicated to set up, and expensive. You will need technical experts around to manage the computers. </li> </ul>