What happens when you type google.com into your browser and press enter? (Detailed Analysis)

preview_player
Показать описание

Alex Github page



Chapters
0:00 Intro
1:54 Initial Typing
3:00 URL Parsing
7:40 DNS Lookup
19:15 TCP Connection
24:19 TLS, ALPN. SNI
33:38 First GET request
40:00 HTML Parsing

initial Typing
As you type g the browser will attempt a search and display an auto complete result of the previously visited sites

Some browser does an actual search using the default configured search engine we will skip that part. This will have he same effect as next steps

URL PARSE

HTTP or HTTPS? Determine the port

DNS Lookup
TO find out the IP address we do a DNS look up .first we ask the operating system, because the domain could be cached, we find that its not . The OS then looks through the hosts file and see if there is a n hardcoded entry , there isnt ..

Next the browser check if DoH is enabled DNS over HTTPS if yes then it communicate with the DNS provided (e.g cloud flair and ask for DNS) thats another TLS connection assume we are not using DoH The we establish an insecure UDP request to port 53 on the default DNS Configured on our router (could be 8.8.8.8 or 1.1.1.1) that in itself is a connection so we need to send the packet..

TCP connection
We know the IP we know the port! we can now establish a connection, we also know that we should also do TLS since its HTTPS and our client is smart enough to do TLS 1.3 so we will first do 3 way handshake and establish a TCP connection between 10.0.0.2 port random 1234 and 4.1.2.3 port 443

TLS, ALPN, SNI

First Request GET/
The client is now ready to send an actual HTTP data, so it builds header GET / since that is what we want to send, puts the hostname in the header and other stuff, checks if there are cookies and puts them, the whole thing is compressed and sent as a binary format. The data is then encrypted with the TLS symmetric key and sent..

The get request is then streamed into the HTTP/2 tcp connection and sent to the server.

HTML Parsing
Make multiple requests css? JS? Multiple streams?
If H1 then pipeline?

🛰 Network Engineering Videos

🏰 Load Balancing and Proxies Videos

🐘 Postgres Videos

🚢Docker

🧮 Programming Pattern Videos

🛡 Web Security Videos

🦠 HTTP Videos

🐍 Python Videos

🔆 Javascript Videos

Support me on PayPal


Stay Awesome,
Hussein
Рекомендации по теме
Комментарии
Автор

Beautiful explanation. This channel is heaven for ppl like me, looking to know a whole of things at a fundamental level. Keep Rocking 👍👍

ishandhar
Автор

I have been searching for this question from the day interviewer asked me this. but Believe me, it is the best explanation on the internet so far. 💕

SyedHaris
Автор

Hi Hussein. I'm from Kenya. You're making me a better engineer day by day. Discovered your channel a few days ago and I always want to watch and learn something every day. I've never stuck to a specific tech channel this tight before. Be blessed! Thank you!

Girry_
Автор

Thank you so much, I am a student/beginner at software engineering and I am enjoying your content of explaining the fundamentals as well as linking them elegantly with the coding + software part. I might even argue there’s not a lot of content like this out there. Keep up the work sir.

khaingkhanthtun
Автор

I'm just starting to work my way though your content, and I have to say I love your teaching style. Alot is still going over my head but I'll get there! Appreciate the work.

gavinlindridge
Автор

One of the best videos on the internet for this topic. I come here every single time to refresh my concepts and damn! Its just crazy. Kudos to you Hussein!

pratiknayak
Автор

Man, this guy knows what a "Detailed Analysis" is. Fabulous Video.

paraschugh
Автор

Want to take a day just to say you thankyou.. Because this channel has everything that L2-L7 networking requires. I feel I can do my interview preparation just by these videos

shikhaphogat
Автор

What a brilliant video, Hussein! Thank you so much! This combines all the concepts in one video and it is such a good way to consolidate everything!

HarshKapadia
Автор

Hey Hussein, I am working as a DevOps and have 1 year of experience. I gave several interviews and was never asked for this question so I never bothered to understand this. In my last interview, I was asked this question and I was only able to talk about DNS lookup part. I knew this stuff but it didn't came to my mind as this falls into a single point of context.
Thanks for making this video. It is a very detailed insight and you have explained all the stuff. Kudos to you. Your explanation is very detailed compared to another guy who has made the same video on the same topic. Keep Rocking Bro.. Good luck.

faadi
Автор

I don’t always watch 45-minute videos on YT, but if Hussein makes one I definitely will 😎. Love your in-depth explanation of the web request process!

antelope
Автор

litterly, i was seeking such type of explanation for almost 4yr of my college, now i got it. thank you!!

AnkitYadav-kzei
Автор

This channel is gold. Its been 2 days i have been consuming your content and i ve already learnt so much. I am pretty sure m going to see almost all your playlist in the coming days. Thank you for this knowledge.

pranjalagrawal
Автор

Always wanted to make a video on the exactly same concept, but was not aware about the details of the process.
Thanks man, Hats off!

kevalbhogayata
Автор

I feel lucky to find you Hussein Nasser, I am so happy with your videos and am learning a lot, your way of explaining things is addicted to watch, I wish I found your videos before. Keep doing great stuff, please don't stop.

selphie
Автор

You have a great knack for explaining things very lucidly. Much unlike other youtubers who upload unintelligible videos purely for the purposes for profiteering.

ritwiksen
Автор

Excellent !!! you definitely deserve millions of subscribers 🥰

Tech_Critics
Автор

It's just a fabulous explanation, @Hussain. And thank you so much for this wonderful presentation. Keep rocking

Sri
Автор

Sir, one of the best videos. Very nicely explained. You are helping many folks here. Thank you.

shashikantdivekar
Автор

It was very short indeed. lol
I totally enjoyed watching and learnt something.
Thank you!

KrAsHeDD