Русские видео

Сейчас в тренде

Иностранные видео


Скачать с ютуб What happens when you type google.com into your browser and press enter? (Detailed Analysis) в хорошем качестве

What happens when you type google.com into your browser and press enter? (Detailed Analysis) 4 года назад


Если кнопки скачивания не загрузились НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием, пожалуйста напишите в поддержку по адресу внизу страницы.
Спасибо за использование сервиса savevideohd.ru



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

In this video I want to go through what really happens under the hood when you type google.com 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! Alex Github page https://github.com/alex/what-happens-... 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 As you complete the phrase google.com and hit enter , the browser will parse and will figure out whether this is a url or a search term . It is a url so it will attempt to visit the website google.com HTTP or HTTPS? Determine the port The next step is to determine which protocol to use HTTP or HTTPS? to know that there is a protocol called HSTS list and we made a video about that tech. It is a local list of websites that only need to communicate with HTTPS. Google.com is in the HSTS list so we will use HTTPS so we now know the port is 443! We need to figure out the IP address so we can establish the connection 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 Assuming I’m using the latest browser so it supports TLS 1.3 and my server also supports TLS 1.3, next is Client Hello. Client generates a public and private key, merges public and private key in DH sends out public and merged keys which cannot be broken in a client hello. It also sends the supported cipher suits (supported for symmetric key algorithms) If TLS extensions are enabled such as ALPN & SNI the client also sends in the same request the host name google.com in the TLS client hello along with the fact that it actually supports HTTP2 (this might be different in Chrome since it uses HTTP/2 over UDP or QUIC) 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    • Network Engineering   🏰 Load Balancing and Proxies Videos    • Proxies   🐘 Postgres Videos    • PostgresSQL   🚢Docker    • Docker   🧮 Programming Pattern Videos    • Programming Patterns   🛡 Web Security Videos    • Web Security   🦠 HTTP Videos    • HTTP   🐍 Python Videos    • Python by Example   🔆 Javascript Videos    • Javascript by Example   Support me on PayPal https://bit.ly/33ENps4 Stay Awesome, Hussein

Comments