Jump to content
  • entries
    21
  • comments
    0
  • views
    418

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.

×
×
  • Create New...

Important Information