URL'yi tarayıcıya yazdığında arka planda neler oluyor?

dev.to yazıp Enter'a bastığında sayfa bir saniyede yükleniyor ve biz bunu anlık sanıyoruz. Oysa arka planda DNS sorgulaması, TCP bağlantısı, TLS el sıkışması, HTTP isteği ve tarayıcının pikselleri çizmesi gibi bir sürü işlem hızlı hızlı gerçekleşiyor.

Tarayıcı önce URL'yi parçalıyor. https://dev.to/some-article gibi bir adres üç bölümden oluşur: şema (https), host (dev.to) ve yol (/some-article). Şema tarayıcıya hangi portu kullanacağını söyler, HTTPS için 443, HTTP için 80. Aynı anda tarayıcı iki yerel şeyi kontrol eder: bu sayfayı daha önce cache'ledi mi? Ve bu site HTTPS'ye kesin mi ısrar ediyor? Tarayıcılar, yalnızca HTTPS üzerinden yüklenmesi gereken sitelerin bir ön yükleme listesiyle birlikte gelir.

Daha sonra DNS çözümlemesi başlar. Tarayıcı "dev.to IP adresi nedir?" sorusunu DNS sunucusuna sorar. DNS, alan adını (dev.to) bir IP adresine (örneğin 151.101.1.140) çevirme görevini yapar. Bu işlem genellikle milisaniyeler içinde tamamlanır ama internet bağlantınız yavaşsa biraz bekleyebilirsin.

IP adresini aldıktan sonra TCP bağlantısı kurulur. Tarayıcı sunucuyla üç aşamalı bir el sıkışma yapar (SYN, SYN-ACK, ACK). HTTPS kullanıyorsan bundan sonra TLS el sıkışması gelir, burada tarayıcı ve sunucu şifreli bir kanal oluştururlar.

Bağlantı hazır olunca tarayıcı HTTP isteğini gönderir. Sunucu HTML, CSS, JavaScript ve resimlerle yanıt verir. Tarayıcı HTML'i parçalar, CSS'i uygular, JavaScript'i çalıştırır ve son olarak sayfayı ekrana çizer.

Bütün bu adımlar dev.to'nun bu detaylı açıklamasında gerçek test komutlarıyla gösterilmiş. Merak ediyorsan aynı adımları kendi sitelerinle de deneyebilirsin, DNS sorgusu için `nslookup`, TCP bağlantısı için `telnet`, HTTP isteği için `curl` komutlarını kullan.

Bu bilgiyi bilmek, web performansını optimize ederken, ağ sorunlarını debuglarken ya da sadece internetin nasıl çalıştığını anlamak istediğinde işine yarar.

konu hakkında tepkinizi verebilirsiniz