What happens when you type google.com into your browser’s address box and press enter?
You can find the answer in a Github repository
We are not at the levels of the “Answer to the Ultimate Question of Life, the Universe, and Everything”, but we’re close.
In this github repository i’ve found a really accurate (collaborative) technical explanation of what happens once you start writing an url in your browser’s address bar:
Except instead of the usual story, we’re going to try to answer this question in as much detail as possible. No skipping out on anything.
This is a collaborative process, so dig in and try to help out! There’s tons of details missing, just waiting for you to add them! So send us a pull request, please!
Make yourself comfortable, it is a long journey!
[embed]https://github.com/alex/what-happens-when[/embed]
Table of Contents
- The “g” key is pressed
- The “enter” key bottoms out
- Interrupt fires [NOT for USB keyboards]
-
(On Windows) A
WM_KEYDOWN
message is sent to the app -
(On OS X) A
KeyDown
NSEvent is sent to the app - (On GNU/Linux) the Xorg server listens for keycodes
- Parse URL
- Is it a URL or a search term?
- Check HSTS list
- Convert non-ASCII Unicode characters in hostname
- DNS lookup
- ARP process
- Opening of a socket
- TLS handshake
- HTTP protocol
- HTTP Server Request Handle
- Behind the scenes of the Browser
- Browser
- HTML parsing
- CSS interpretation
- Page Rendering
- GPU Rendering
- Window Server
- Post-rendering and user-induced execution