A web server is a computer that runs software that allows the computer to serve (or deliver) web pages. While the words “web server” describe the actual software that is used to serve web pages, the term web server is often used to refer to the actual physical computer that is running the software. For example, if someone states that “the web server is down”, generally they are referring to the physical computer that is running the web server software, and not necessarily the web server software.
To put web server software into perspective, think of web server software as you would any other computer program. Microsoft Word is for creating documents on a computer, Microsoft Excel is for creating spreadsheets, and Web Server software is for hosting web sites.
There are two major Web Server programs that are used today; they are the Apache Web Server and Internet Information Server (IIS). Generally speaking, Apache is the web server of choice for a Linux machine, and IIS is the web server of choice for a Windows machine.
While almost any computer can function as a web server, most production web servers are computers with some amount of specialized hardware, and really only run the web server software and supporting applications. For example, you would not run Word and Excel on a production web server.
The diagram below illustrates how the web server software fits into the “big picture”:
Note that a web server does not necessarily host only one website. Many web servers, especially web servers in a shared web hosting environment, will host hundreds of websites. Though if a website is highly trafficked and a resource-intensive one, a dedicated server may be necessary. In fact there are some web sites that are so popular and require such a large amount of resources, that the job of hosting the website is handled by multiple web servers (that is, multiple physical computers).