What the heck is a web server, you ask? Well, a web server is like a restaurant host. When you arrive at a restaurant, the host greets you, checks your booking information and shows you to your table. Similar to the restaurant host, the web server looks for the web page you requested and fetches it for your viewing pleasure. However, a web server is not only your host, but also your server. Once it finds the webpage you requested, it also makes the webpage available to you. A web server like Apache is also the maitre d’ of the restaurant. It takes care of your communication with the website (the kitchen), processes your requests and makes sure that other staff (modules) are ready for you. He is also the busboy as he cleans the tables (memory, cache, modules) and clears them for new customers.
So, a web server is basically the software that receives your request to access a website. It performs some security checks on your HTTP request and takes you to the website. Depending on the requested page, the page may ask the server to run some additional modules while generating the document that will be served to you. It will then send you the requested document.