The Basics of Web Servers

There are a lot of web servers out there. Whenever you go to a website, you're downloading it from a web server. When you pay money to a web host, what you're really doing is renting a space on their web server. The Internet consists of millions of computers networked together, but it's the servers that are providing all the information that makes up the web - you can't have a website unless it's on a server. What is a Web Server? A web server is really just a powerful computer - they use the same kinds of processors and memory that normal computers use, but they have more of it. Servers usually run a Unix or Unix-like operating system like Linux or BSD, but they can just as easily run Windows. What makes these computers servers isn't their hardware - it's the software they run. Web server software includes the HTTP server itself, as well as databases and other things that are needed to make a web server work however it needs to. This is why different hosts offer different features: they have different programs installed on their servers. Web Servers Serve Files The role of the web server, at its most basic level, is to send people your files over HTTP. It has a hard disk (often more than one) and stores your files like any other computer - if you don't upload a file called 'index.html', many servers will list all your files for you instead of providing a web page. It's the replacement of the index.html (named because it is supposed to be an index of files) that creates the illusion of everything on the server being one 'web site', instead of a set of files linked together. Web Servers Run Scripts Of course, web servers don't always just serve the same files over and over again. Sometimes they need to insert other information into pages, especially information that comes from databases. This is done with scripting languages like PHP and Perl - the server is told that it should give files that end in .pl or .php to the appropriate script interpreters, and these interpreters then tell the server what to send to the browser. This means that dynamic websites can often be slow, as the server is having to produce a different page for each visitor. Virtual Servers and Dedicated Servers When you buy web hosting, though, you're not necessarily getting a whole server to yourself - in fact, the chances are that you're not, unless you're paying lots of money. Instead, you'll be sharing a server with the hosts' other customers. You might not realise this, since the server doesn't appear to have anything on it that isn't yours, but the other customers are simply being hidden from you - you're using what is known as a 'virtual server'. For small websites, there isn't really any option other than virtual servers: they're a great idea for letting resources be shared among lots of websites that don't use much of the server's power or space. If one of the sites does start growing, though, you might find your website slowing down. Oddly enough, this fact means that it's often better to find a host that offers price plans with limits instead of one that offers 'unlimited' disk space and bandwidth to each customer - your website will be much faster at the 'limited' host. More Than You'd Think One thing that people don't often think about is that there's more than one web server program out there. It's not really visible to visitors, since they all do basically the same thing, but there are lots of servers available, and they're all quite different in the way they work. There are three main groups: Apache. The open source Apache software is the most popular server software out there, with around 70% of the market share. Microsoft servers. Microsoft are responsible for the various versions of IIS (Internet Information Server) and PWS (Personal Web Server), which altogether have around 20% of the market. Sun servers. Sun produce lots of servers, most notably the Netscape-branded ones. The market share of these servers depends on whether you count all sites (making it 3%) or just the actively maintained ones (in which case it drops to less than 1%). Source for statistics: netcraft.com. Other servers available are mostly 'simple' servers that don't have all the somewhat unnecessary features of these servers, such as thttpd (the 't' is for tiny or turbo). There are literally hundreds of them, but they have mostly negligible market share.