What is a Web Server?
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.