Episode 121 - What happens when you type google.com into your browser address box and hit enter?

The Backend Engineering Show with Hussein Nasser

Episode | Podcast

Date: Mon, 30 Dec 2019 01:41:11 GMT

<p>In this video I want to go through what really happens under the hood when you type <a href="http://google.com/">google.com</a> and you hit enter in a browser. This is inspired by alex’s github page below, it is a great detailed description of what happens. I did however add more details to certain areas and I removed some stuff like keyboard events and low level operating system like that. So if you are interested stay tuned!</p> <p><a href="https://github.com/alex/what-happens-when">https://github.com/alex/what-happens-when</a></p> <p><br /></p> <p>5:30 HSTS <a href="https://youtu.be/kYhMnw4aJTw">https://youtu.be/kYhMnw4aJTw</a></p> <p>19:30 tcp vs udp</p> <p><a href="https://youtu.be/qqRYkcta6IE">https://youtu.be/qqRYkcta6IE</a></p> <p>24:42 tls</p> <p><a href="https://youtu.be/AlE5X1NlHgg">https://youtu.be/AlE5X1NlHgg</a></p> <p>40:56 mimesniffing</p> <p><a href="https://youtu.be/eq6R6dxRuiU">https://youtu.be/eq6R6dxRuiU</a></p> <p><strong>Initial typing</strong></p> <p>- lookup for most visited sites or an actual search</p> <p><strong>Google.com Enter</strong></p> <p>- parse is it a url or search term? If search do a search if url visit website</p> <p><strong>Which protocol? which port ?</strong></p> <p>HSTS?</p> <p>HTTPS</p> <p>or HTTP?</p> <p><strong>DNS</strong></p> <p>cached?</p> <p>Hosts?</p> <p>DoH?</p> <p>Lookup ?</p> <p><strong>TCP</strong></p> <p><strong>ip / port ?</strong></p> <p>arp?</p> <p>NAT?</p> <p>proxy?</p> <p><strong>HTTP 1.1 ? </strong>More than one connection</p> <p><strong>TLS</strong></p> <p>version? ciphers? Alpn? SNI ? H2 ? H3? Quic?</p> <p><strong>GET / - ?</strong></p> <p>Headers compress</p> <p>cookies?</p> <p>binary stream?</p> <p>HTML?</p> <p>H2 push?</p> <p><strong>HTML Parse?</strong></p> <p>Make multiple requests css? JS? Multiple streams?</p> <p>If H1 then pipeline?</p>