What really happens when you open a web page
Summary
Alex Gaynor collaboratively collects all the steps from keyboard and browser via DNS, routing, TLS and HTTP to rendering. The document is maintained publicly on GitHub. Contributions cover hardware, operating system and network.
Ideas
- The browser parses the URL and checks local policies.
- DNS resolves the name through several cache and server levels.
- ARP and routing determine the next network hop.
- TCP, TLS and HTTP build up the transport, security and application layers.
Insights
- A simple user action passes through numerous independent systems.
- Layers allow interchangeability and make end-to-end diagnosis harder.
- Caches improve speed and create additional state.
Facts
- The sequence ends with HTML parsing and rendering.
Recommendations
- Diagnose web problems layer by layer from DNS to the application.
- Measure each phase of the connection separately.
References
Links to the original source and the Web Archive open in a new tab.