Many people know how to drive a car, but have little or no knowledge about how the car actually works. So, too, are many people familiar with how to view and navigate web pages, but have limited knowledge of how those web pages do what they do. Here we will answer the question: “What is a web server?”
At the most basic level, a web server is simply a computer program that dispenses web pages as they are requested. The machine the program runs on is usually also called a server, and the two references are interchangeable in everyday conversation. When someone sits down at a computer and enters an address into an internet browser like Internet Explorer or Firefox, the browser sends a request off into the internet asking to view the web page found at that address. The web server is the program or machine that responds to that request, and delivers the content of the page back to the user.
This can be done because every computer or device that connects to the internet has a uniquely identifying number, called an Internet Protocol address, or IP address for short. This address is what allows computers to find one another and communicate across the network. In brief, the process works as follows.
Every web page on the internet also has a unique address, called a Uniform Resource Locator, or URL. Something like “www.example.com/page1.htm” is an example of a typical URL. When a user types that URL into a web browser, the machine the browser is running on sends a request to the IP address of the machine running the web server for that page, requesting that all the content found there be sent back. Once the web server receives that request, it sends the page content back to the IP address of the computer asking for it. The web browser then translates that content into all of the text, pictures, links, videos, etc. that so many web pages contain.
Web servers can sometimes be slowed down by things like inadequate resources on the machine they run on, or an overwhelming number of requests being received in too short a time, but generally the whole process happens so quickly it’s hardly even noticeable as users navigate from page to page. The data being transferred back and forth during these exchanges must conform to a specific protocol, called Hypertext Transfer Protocol (HTTP), to ensure that all web pages and servers communicate with one another efficiently and without error.
The most common web server software today, that is, the program that actually does the receiving and answering of page requests, is Apache. This open-source software handles more than half of all websites in existence today – many developers of web-based applications and technologies use Apache as their default environment when designing new products. The second most common is Internet Information Services (IIS), released by Microsoft, which accounts for nearly 25% of all websites, leaving various other smaller applications to compete for the remaining niche.
Though web servers can also handle data requests for other protocols not covered here, like SMTP for email, or FTP for file transfer and storage, it is their ability to respond to web page requests that is the underlying force keeping the entire world wide web up and running.
A Web server is a program that, using the client/server model and the World Wide Web’s Hypertext Transfer Protocol ( HTTP ), serves the files that form Web pages to Web users (whose computers contain HTTP clients that forward their requests). Every computer on the Internet that contains a Web site must have a Web server program. Two leading Web servers are Apache , the most widely-installed Web server, and Microsoft’s Internet Information Server ( IIS ). Other Web servers include Novell’s Web Server for users of its NetWare operating system and IBM’s family of Lotus Domino servers, primarily for IBM’s OS/390 and AS/400 customers.
The primary function of a web server is to store, process and deliver web pages to clients. The communication between client and server takes place using the Hypertext Transfer Protocol (HTTP). Pages delivered are most frequently HTML documents, which may include images, style sheets and scripts in addition to text content.
A user agent, commonly a web browser or web crawler, initiates communication by making a request for a specific resource using HTTP and the server responds with the content of that resource or an error message if unable to do so. The resource is typically a real file on the server’s secondary storage, but this is not necessarily the case and depends on how the web server is implemented.
Different types of Web Servers
Apache web server – the HTTP web server
The free Apache web serverFree and the most popular web server in the world developed by the Apache Software Foundation. Apache web server is an open source software and can be installed and made to work on almost all operating systems including Linux, Unix, Windows, FreeBSD, Mac OS X and more. About 60% of the web server machines run the Apache web server.
Apache Tomcat logoThe Apache Tomcat has been developed to support servlets and JSP scripts. Though it can serve as a standalone server, Tomcat is generally used along with the popular Apache HTTP web server or any other web server. Apache Tomcat is free and open source and can run on different operating systems like Linux, Unix, Windows, Mac OS X, Free BSD.
Microsoft’s Internet Information Services (IIS) Windows Server
IIS Windows Web Server from MicrosoftIIS Windows Web Server has been developed by the software giant, Microsoft. It offers higher levels of performance and security than its predecessors. It also comes with a good support from the company and is the second most popular server on the web.
Nginx web server
Nginx web serverFree open source popular web server including IMAP/POP3 proxy server. Hosting about 7.5% of all domains worldwide, Nginx is known for its high performance, stability, simple configuration and low resource usage. This web server doesn’t use threads to handle requests rather a much more scalable event-driven architecture which uses small and predictable amounts of memory under load.
lighttpd web server logolighttpd, pronounced “lighty” (don’t ask me why), is a free web server distributed with the FreeBSD operating system. This open source web server is fast, secure and consumes much less CPU power. Lighttpd can also run on Windows, Mac OS X, Linux and Solaris operating systems.
W3C web server – JigsawJigsaw (W3C’s Server) comes from the World Wide Web Consortium. It is open source and free and can run on various platforms like Linux, Unix, Windows, Mac OS X Free BSD etc. Jigsaw has been written in Java and can run CGI scripts and PHP programs.
Klone web serverKlone, from KoanLogic Srl, includes a web server and an SDK for creating static and dynamic web sites. It is a web application development framework especially for embedded systems and appliances. No additional components are required when using Klone; thus, one can do away with an HTTP/S server or the active pages engine (PHP, Perl, ASP).
Abyss web server
Abyss web server from ApreliumAbyss compact web server runs on all popular platforms – Windows, Mac OS X, Linux and FreeBSD. The personal edition is (X1) 100% free while the professional Abyss Web Server X2 has a small price tag of $60. Supports HTTP/1.1, secure connections, CGI/FastCGI, custom error pages, password protection and much more. The server also has an automatic antihacking system and a multiligual remote web management interface.
Oracle Web Tier
Oracle Web TierIncludes two web server options with reverse proxy and caching solutions that lead to quick serving of web pages and easy handling of even the most demanding http traffic. The iPlanet Web Server, for example, is a high-performance server with enhanced security and mutithreaded architechture that scales well on modern 64-bit multiprocessors.
X5 (Xitami) web server
X5 logo – Xitami from iMatix CorporationThe cross-platform X5 from iMatrix Corporation is the latest generation web server using the company’s own multithreading technology (Base2) that makes it scalable to multi cores. As per the iMatrix, X5 can handle thousands of connections without difficulty and thus is useful for long polling in which connections from clients remain open for extended durations.
Zeus web server
Zeus web serverThe Zeus web server runs on Linux and Free BSD operating systems among others. It has been developed by Zeus technology Ltd. And is known for its speed, reliability, security and flexibility. The web server is used on some of the busiest web sites of the world including Ebay. Zeus web server is not free and costs more than a thousand pounds.