Understanding how a web server works

Your Web Server

When setting up a web presence, you need to choose a domain name, then host your website on a server. There are a lot of choices to be made when making this decision so this article explains the different choices and technologies available.

Choosing a domain name

One of the most important things that a company needs to do when setting up a website is to choose their domain name. A domain name is the name that servers use to find each other on the internet. The domain name is translated by DNS servers into IP addresses, which are then used to physically locate the machine with the information users are requesting.

It's important to pick a domain name that is short, easy to remember and easily spellable. Chances are a lot of the good domain names are taken...at least the ones you'll first think of. You'll need to use a domain name checker when you're choosing your name to make sure it's available. You can do it here:

 

You can also use a tool like BustAName that has additional features that let's you combine different words and gives you a thesaurus to help you pick similar words.

Once you have a domain name picked, the next step is to figure out where to host your domain. There are lots of options here, but the first option is wether to host the server yourself or go through a hosting company. You want to look for a reputable host that fits your budget and your needs.

Hosting Level

The first need you need to consider is the level of hosting you'll need. Hosting is generally sold as in one of three flavors: shared hosting, virtual hosting and dedicated server. You can usually tell which option you're choosing by the price.

Shared hosting

Means you're sharing your server with a lot of other users who are hosting their website on the same computer, it's very inexpensive, but not necessarily the best of option for high trafficked websites. The customization options are minimal and you can't usually install your own software. The bandwidth is shared with everyone else on your server. It's a great option for smaller sites and beginners. These sites will run from just a few dollars a month to about $50/month depending on the options.

Virtual hosting

Virtual hosting means that the host will still run on a shared network, but it will be shared with less users. In this setup, the computer also behaves as if it were several computers through virtualization software. This allows each virtual server to run as if it were a separate dedicated server. A virtual server can let you installe your own software, have direct access to some advanced features and will run from about $50 to $150/month depending on individual features.

Dedicated Server

At the high end, you can purchase one or more dedicated servers, which means that you get an entire machine to yourself. All of the processing power of the computer is used to run your website or websites. Dedicated servers are highly customizable and flexible. This option runs from about $200 to $800/month. If you want additional power, you can add additional servers and run different services on different servers or share the load between servers.

Server features

There is a mind blowing amount of options available when choosing a host, I'll try to talk about some of what I consider the most useful and important ones.

Operating Systems

One of the first big decision you'll need to make is the operating system that the host should run. There are pretty much two options here: Microfost versus Linux. There are different flavors of Linux servers. This option is really important because it will determine the kinds of software that you'll be able to run on the server.

In a way, this is a bit like the Mac versus PC debate. There are fervent followers on both sides. I happen to like linux servers better, although I have used all different types of server technologies. Although regular HTML pages can be hosted on either type of server. What really will drive your decision of one over the other is dynamic web pages.

Server Side Scripting

A traditional HTML page consists of a text file with some information about the formating and maybe some additional code which describes the look of the page. It is simply requested by a client and returned by a server. In contrast, a page that is dynamic is requested, then processed before it is served up by the server. This allows the programmer to include some code that makes the page look different depending on certain variables. A radio web site, for example might show which DJ is on the air when requested at different times of the day.

Windows servers normally run Microsoft languages and linux servers run more open source, or public languages. Most servers running on the internet are linux servers. If you need a server that has to run .asp, Access Database or .net technologies, you'll need a windows server. The person who hires you to do their website might also dictate the type of server technology you need to run.

Server Languages

There are many types of server languages and technologies available. A site should at least be able to run some type of scripting language such as PHP. In addition, a web developer might also want the ability to run PERL. An older, yet still widely used language. The servers should definitely be able to run a MySQL database.

Multiple Domain Hosting

Anther important feature is wether or not you can host more than one domain on your servers. A lot of basic plans will limit the amount of domains that can be hosted on your account. If you can host many domains in a single account you can place many of your clients on the same server.

Subdomains

Subdomains are a way to create shortcut URLs for different parts of your websites or to create additional folders on your server that act as if they were separate domain. I find this feature really useful when developing websites for clients. Oftentimes, I'll create a subdomain on my server, something like subdomain.planetoftheweb.com and work on the site as if it were the client's final website. That allows me to keep all of the files in my possession until it's time to turn the site over to the client. I can easily password protect the directory so that only users with a password can see the site. When the customer has paid and approved the final site, I then transfer everything over to their server or create a domain for the client and point it to the same folder.

Some plans will limit the amount of subdomains that you can create so watch out for that.

Space & Bandwidth

This is another important feature to look at. There's a few numbers to look at here. First is the space on the server's hard drive you're allowed to fill. If a server has 10Gb of web space, it means that you can only put 10Gb in the server's hard drive. Larger space is preferrable here, but remember that most web files are tiny. Unless you plan to run audio or video on your website, even the smallest amount of room will be sufficient.

Monthly Transfer

A far more important number is the alloted amount of transfer volume. This means how much information your space is allowed to send and receive between the server and client. The busier your website is, the more it will use up the transfer volume. Again a site with a lot of dynamic features like chat rooms, audio, steraming and video will burn through this faster.

FTP Accounts

FTP stands for File Transfer protocols and it's the means by which you can upload files to/from the server. When you develop your websites you'll be using FTP. You may also use this to allow certain users to send you files more effectively. It's convenient to have the capability to create multiple FTP users for different needs.

Web Databases

The ability to create databases is extremely powerful and necessary for a lot any advanced web application. Although you may not be creating databases for your sites originally, some programs you may want on your server like WordPress will require them. A plan might specify how many databases you can create in our web server. In addition to that, how you are able access this database is important. Shared servers will more than likely not allow direct access to the database for security reasons. Virtual servers and dedicated servers will, but you must be careful to secure these carefully.

Email

The ability to create multiple email accounts, and how much space on the email server you're alloted is also part of the decisions you'll have to make when choosing a host. You should look at the amount of email accounts you're allowed and how much space. If you plan on running email marketing, the host might have some restrictions on the amount of mail that can pass through the server as well.

Control Panels

To perform server administration, most hosts will have some type of control panel interface. Doing server administration without one of these is extremely cumbersome and best left for web experts. There are many flavors of control panels, if you're used to working on a certain control panel interface, you might want to look for a host that offers the same one. Most are pretty straightforward. The most popular are cPanel and Plesk although some hosting providers like 1 & 1 offer their own.

Backups

If you are attacked by a hacker or suffer an error while accessing your server, then having a backup of your files is really useful. Find out if your host has a backup policy and what it is, it may save your life one day.

Password Protected Directories

Your server may also allow you to easily create passwords for certain directories. There are ways to do this manually and programatically, but if the host provides it, it's a nice option to have.

CRON Jobs

A cron job means that you can program your server to run specific tasks at different times throughout the day. You can use this to have the server run reports and perform automated tasks at different intervals. This is an advanced feature, but really useful to web professionals.

Telnet or SSH access

Another advanced feature is the ability to Telnet or SSH (Secure Shell, a more secure version of Telnet) into the server to perform different tasks. This allows you to perform tasks that are not possible in other ways. For example, say you need to update the name of a company because it's changed slightly, but you know it exists in many places on your website. Instead of manually checking every page on your site, you can quickly telnet and perform a GREP command that will change all of the instances of text appearing on your pages from one thing to another in milliseconds.

Support

The amount and type of support you'll receive will also vary. With shared hosting, you'll receive less support than with a more expensive option, but you should definitely look for a company that at least has phone support.

My recommendations

I do business with several hosting companies as part of my freelance activities and my work. I recommend 1&1 for smaller and medium websites. Their prices and feature are tough to beat. They have their own version of a control panel that is very straightforward and allows you to perform some functions that require a call to the support department with other hosts. Their support is decent...planetoftheweb.com is hosted on 1&1 servers. They often run some nice specials so lookout for when they do. Here's a banner for them if you're interested.

For a Virtual Server, I like MediaTemple. It's fancier and more expensive than 1&1. I use it for larger projects that require something like a dedicated server with a cheaper price. Although planetoftheweb.com is hosted at 1&1, the database for the site is hosted at MediaTemple. I can have direct access to it through a database program, which let's me quickly add and customize it. I can also SSH to the server and install whatever I want. It's a bit more expensive, but I really enjoy the flexibility and it's often my playground when I want to check out new web technologies. Their support department is friendly and very good. I often get through very quickly.

For a dedicated solution on mega981.com I use Peer 1. They offer pretty good prices for a dedicated server. They also use Plesk and offer some good throughput numbers. Their support is also pretty good...I often get to someone inmediately, which definitely has something to do with the fact that I have a significant investement with them.

Choosing a host is an important first step in developing an online presence. Hopefullly these tips will help you choose the right host the first time.

blog comments powered by Disqus