The Basics of Web Servers
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.
About the author:
Information supplied and written by Lee Asher of Eclipse Domain
Services
Domain Names, Hosting, Traffic and Email Solutions.