When you type a URL, such as www.example.com
, into your browser, what actually happens? First, the browser would send a request to one of Example Corp's servers, which retrieves the resource requested (for example, an HTML file), and sends it back to the client:
![](https://static.packt-cdn.com/products/9781788477321/graphics/0b01f8d3-d673-4166-b1d6-3129e9827baa.jpg)
The browser then parses the HTML, retrieves all the files the web page depends on, such as CSS, JavaScript, and media files, and renders it onto the page.
![](https://static.packt-cdn.com/products/9781788477321/graphics/6fe186b3-4b49-4429-a5d1-f22b4680042f.jpg)
The browser consumes flat, one-dimensional texts (HTML, CSS) and parses them into tree-like structures (DOM, CSSOM) before rendering it onto the page.
This scheme is known as the client-server model. In this model, most of the processing is handled server-side; the client's role is limited to simple and superficial uses, such as rendering the page, animating menus and image carousels, and providing event-based interactivity.
This model was popular in the 1990s and 2000s, when web browsers were not very powerful. Creating entire applications with JavaScript...