Tarayıcı ve Sunucu Networking Aşaması
Networking Aşaması
Tarayıcının bir URL'den HTML içeriğini alması sürecidir.
1. URL Parsing (URL Ayrıştırma)
Kullanıcı bir URL girdiğinde veya link tıkladığında, tarayıcı önce URL'i parçalarına ayırır:
https://herseyibul.com:443/path/page.html?id=123#section └─┬─┘ └────┬────────┘└┬┘└─────┬───────┘ └──┬──┘└──┬──┘ Protocol Host Port Path Query Fragment
2. DNS Lookup (DNS Sorgusu)
DNS Resolution Süreci:
Domain adı(host) IP adresine çevrilir. Tarayıcı sırasıyla şu kaynaklara bakar:
- Browser DNS Cache: Tarayıcı kendi önbelleğini kontrol eder
- OS DNS Cache: İşletim sistemi önbelleği kontrol edilir
- Router Cache: Local ağdaki router önbelleği
- ISP DNS Server: ISP'nin DNS sunucusu sorgulanır
- Root DNS → TLD DNS → Authoritative DNS: Hiyerarşik sorgulama
DNS sorgusu tipik olarak 20-120ms sürer. Modern tarayıcılar DNS prefetching kullanarak bu süreci hızlandırır.
DNS prefetching (DNS önceden getirme), tarayıcınıza gelecekte ihtiyaç duyulacağını bildiğiniz harici alan adlarının (domain) IP adreslerini arka planda, kullanıcı henüz o alan adıyla ilgili bir kaynağı (resim, script, font) talep etmeden önce çözmesi (lookup) için verdiğiniz bir "ipucudur".
... <head> <meta charset="UTF-8"> <title>Web Sitem</title> <link rel="dns-prefetch" href="//fonts.googleapis.com"> <link rel="dns-prefetch" href="//www.google-analytics.com"> ...
3. TCP Connection (TCP Bağlantısı)
TCP Bağlantısı: Verinin güvenilir bir şekilde (kayıpsız) taşınacağı boru hattını (pipe) inşa eder.
TCP 3-Way Handshake:
Client → Server: SYN (Synchronize) Server → Client: SYN-ACK (Synchronize-Acknowledge) Client → Server: ACK (Acknowledge)
Bu işlem bir RTT (Round Trip Time) sürer, tipik olarak 30-100ms. Bağlantı kurulduktan sonra veri transferi başlayabilir.
RTT, "Round Trip Time" (Gidiş-Dönüş Süresi) anlamına gelir.
En basit tanımıyla RTT, sizin bilgisayarınızdan (istemci) bir sunucuya bir veri paketinin gitmesi ve o pakete karşılık bir cevabın (onayın) sunucudan size geri dönmesi için geçen toplam süredir.
4. TLS/SSL Handshake (HTTPS için)
Bu boru hattının içinden geçecek veriyi şifreler ve kimlik doğrulaması yapar.
HTTPS bağlantılarında ek olarak TLS handshake yapılır:
Client Hello → (cipher suites, TLS version) Server Hello → (selected cipher, certificate) Key Exchange → (session keys oluşturulur) Finished → (encrypted communication başlar)
TLS 1.3 ile bu süreç 1 RTT'ye düşürüldü (önceden 2 RTT idi). Certificate validation, OCSP (Online Certificate Status Protocol) kontrolü de bu aşamada yapılır. TLS 1.3, bir siteyi tekrar ziyaret ettiğinizde bu süreci 0-RTT'ye (TLS için) bile düşürebilir.
OCSP (Online Certificate Status Protocol), bir SSL/TLS sertifikasının hala geçerli olup olmadığını veya iptal edilip edilmediğini (revoked) kontrol etmek için kullanılan bir internet protokolüdür.
OCSP: Tarayıcının, sertifikanın iptal durumunu CA'e sormasıdır (Yavaş ve gizlilik sorunu var).
OCSP Stapling: Sunucunun, sertifika durumunu düzenli olarak CA'den alıp, gelen ziyaretçilere (tarayıcılara) sertifikayla beraber "zımbalayarak" sunmasıdır (Hızlı ve gizlidir).
Web performansını ve güvenliğini önemsiyorsanız, sunucunuzda OCSP Stapling'in mutlaka etkinleştirilmiş olması gerekir.
5. HTTP Request(İstek)
Basitçe söylemek gerekirse, bir tarayıcının (istemci), bir web sunucusuna bir kaynak (dosya, veri) almak veya bir eylem gerçekleştirmek için gönderdiği resmi mesajdır. Bir web sitesinde tıkladığınız her link, tarayıcınızın adres çubuğuna yazdığınız her adres veya gönderdiğiniz her form, arka planda bir HTTP İsteği oluşturur.
GET /index.html HTTP/2 Host: herseyibul.com User-Agent: Mozilla/5.0... Accept: text/html,application/xhtml+xml... Accept-Language: tr-TR,tr;q=0.9 Accept-Encoding: gzip, deflate, br Cache-Control: no-cache Connection: keep-alive Cookie: session_id=abc123...
6. Server Processing(Sunucu İşlemesi)
Bu, bir web sitesinin "beynidir" ve isteğin (request) gelmesi ile yanıtın (response) gönderilmesi arasında olan her şeyi kapsar.
7. HTTP Response
HTTP Response, sunucunun, aldığı HTTP İsteği'ne karşılık olarak istemciye (tarayıcıya) gönderdiği "cevap" mesajıdır. Bu cevap, istenen kaynağın kendisi (HTML sayfası, resim) veya işlemin durumu (hata, yönlendirme) olabilir.

0 Comments
Recommended Comments
There are no comments to display.