One of the basic requirements for a fast loading website is to have a web server that quickly responds to requests. While speeding up the origin response has a great direct business value, it can be quite challenging. In many cases it can be a lot easier to utilize caching in order to avoid the complexity of optimizing the server response time. However, caching a dynamic page is not a straight forward process.
No single blog post can really cover all what happens behind the scenes to load a web page, it is a mind dazzling process. Instead we will focus on the part where the browser is requesting the HTML source content from a server in order to load the page. We will also assume a simple single web server with a database.