At its heart, a web server is a system that handles requests via HTTP. You will see the term web server applied in a number of ways, including in reference to the hardware that the software stack runs on, as well as the actual software application itself.
Typically, when visiting a web server you will have data returned to your web browser in the format of HTML, images, JavaScript, and CSS, among other formats. These are what we call web pages, although the web server can also return data in other formats as well, such as JavaScript Object Notation (JSON) and Extensible Markup Language (XML).
All of these data types are returned via an HTTP request, which handles transferring the information from the web server to the user's web browser (or another application that wishes to interact with the server).
Let's now look at the HTTP protocol in a little more detail to understand how this works.