Intro to browser internals
Browsers are a complicated piece of software composed of many different modules which work together to provide a unified interface to the world of the Internet. People usually underestimate how much work browsers do behind the scene, after all, there is way more to the magic than sending and receiving HTTP requests and responses.
Most notably a browser consists of the following parts:
- Networking stack — usually provided by the Operating System
- Widget Library — For displaying controls, menu bars, the User Interface of the browser
- Rendering engine — For parsing HTML and CSS
Although there are numerous rending engines and JS Interpreters in the wild, I’ll focus on the ones found in major browsers, specifically the following -