A Web server is a program that uses HTTP (Hypertext Transfer Protocol) to serve the files form Web pages to users, in response to their requests, which are forwarded by their computers’ HTTP clients.
Dedicated computers and appliances may be referred to as Web servers as well.
The web server checks for the web page you have requested and fetches it for your viewing pleasure.
However, A web server is not just your host but also your server. Once it has found the web page you requested, it also serves you the web page.
A web server like Apache, is also the Maitre D’ of the restaurant.
It handles your communications with the website (the kitchen), handles your requests, makes sure that other staff (modules) are ready to serve you.
It is also the bus boy, as it cleans the tables (memory, cache, modules) and clears them for new customers.
So basically a web server is the software that receives your request to access a web page.
It runs a few security checks on your HTTP request and takes you to the web page. Depending on the page you have requested, the page may ask the server to run a few extra modules while generating the document to serve you.
It then serves you the document you requested. Pretty awesome isn’t it.