How Does a Web Server Work?
You have probably come to this site to find a company that
provides Web servers or Web hosting services. But do you actually
know how these hosting machines work? It's a good idea to know a
little bit about the product or service you are searching for
before you begin your quest.
First, it's
important to note that this is a two-sided story. Web servers are
responsible for storing and exchanging information with other
machines. Because of this, at least two participants are required
for each exchange of information: a client, which requests the
information, and a server, which stores it. Each side also
requires a piece of software to negotiate the exchange of data; in
the case of the client, a browser like Netscape or Internet
Explorer is used. On the server side, however, things are not as
simple. There is a myriad of software options available, but they
all have a similar task: to negotiate data transfers between
clients and servers via HyperText Transfer Protocol, the
communications protocol of the Web. What type of server software
you are able to run depends on the Operating System chosen for the
server. For example, Microsoft Internet Information Server is a
popular choice for Windows NT, while many Unix fans choose Apache
Web server.
A simple exchange
between the client machine and Web server goes like this:
1. The client's browser dissects the URL in to a number of
separate parts, including address, path name and protocol.
2. A Domain Name Server (DNS) translates the domain name the user
has entered in to its IP address, a numeric combination that
represents the site's true address on the Internet (a domain name
is merely a "front" to make site addresses easier to remember).
3. The browser now determines which protocol (the language client
machines use to communicate with servers) should be used. Examples
of protocols include FTP, or File Transfer Protocol, and HTTP,
HyperText Transfer Protocol.
4. The server sends a GET request to the Web server to retrieve
the address it has been given. For example, when a user types
http://www.example.com/1.jpg, the browser sends a GET 1.jpg
command to example.com and waits for a response. The server now
responds to the browser's requests. It verifies that the given
address exists, finds the necessary files, runs the appropriate
scripts, exchanges cookies if necessary, and returns the results
back to the browser. If it cannot locate the file, the server
sends an error message to the client.
5. The browser translates the data it has been given in to HTML
and displays the results to the user.
This process is repeated until the client browser leaves the site.
Aside from its
functions listed above, the Web server also has an additional
number of responsibilities. Whereas a Web browser simply
translates and displays data it is fed, a Web server is
responsible for distinguishing between various error and data
types. A Web server must, for example, designate the proper code
for any sort of internal error and send that back to the browser
immediately after it occurs. It also has to distinguish between
various elements on a Web page (such as .GIFs, JPEGS and audio
files) so that the browser knows which files are saved in which
format. Depending on the site's function, a Web server may also
have numerous additional tasks to handle, including logging
statistics, handling security and encryption, serving images for
other sites (for banners, pictures, etc), generating dynamic
content, or managing e-commerce functions.
Now that you've had
a behind-the-scenes tour of a Web server, you can appreciate all
the work that goes in to delivering a single page of content to
your computer screen. Use this knowledge to your advantage, and
keep it in mind when shopping around for your next host.
|