Genel

Web’in Çalışma Mantığı

Günlük hayatımızda bir web sitesine girmek oldukça basit görünebilir: Adresi yaz, Enter’a bas ve sayfa karşına gelsin. Ancak perde arkasında oldukça karmaşık ama mantıklı bir süreç işler. Bu yazıda, bir kullanıcının tarayıcıya yazdığı bir URL’nin nasıl çalıştığını, DNS’ten sunucuya, HTML’den modern frameworklere kadar tüm süreci adım adım ele alacağız.

1. İstek Nasıl Başlar?

Bir kullanıcı tarayıcıya https://www.ornek.com adresini yazdığında aslında tarayıcı bir istemci (client) olarak hareket eder ve bu isteği internete gönderir. Ancak bilgisayarın, bu adresin hangi sunucuya ait olduğunu bilmesi gerekir.

2. DNS Çözümlemesi (Domain Name System)

Bilgisayarlar IP adresleri ile iletişim kurar (örn. 192.168.1.1). Biz ise insan dostu domain isimleri kullanırız. İşte burada DNS devreye girer:

  1. Tarayıcı, işletim sistemine “www.ornek.com hangi IP’ye ait?” diye sorar.

  2. Eğer önbellekte yoksa, DNS sorgusu ilgili DNS sunucusuna gider.

  3. DNS sunucusu alan adını çözümler ve karşılık gelen IP adresini istemciye döner.

Artık tarayıcı, hedef sunucunun hangi IP’de olduğunu bilir.

3. TCP/IP Bağlantısı ve HTTP/HTTPS İsteği

Tarayıcı, DNS’ten aldığı IP adresine TCP/IP protokolü üzerinden bağlanır.

  • Eğer site HTTPS kullanıyorsa, ek olarak TLS/SSL sertifikası üzerinden güvenli bağlantı kurulmuş olur.

  • Daha sonra tarayıcı sunucuya bir HTTP isteği gönderir. Örneğin:

GET / HTTP/1.1
Host: www.ornek.com

Bu istek, “Bana anasayfanın HTML içeriğini gönder” demektir.

4. Sunucu Yanıtı (Response)

Sunucu bu isteği alır ve cevabı döner:

HTTP/1.1 200 OK
Content-Type: text/html

Ardından HTML kodunu istemciye yollar.

5. Tarayıcı HTML’yi Yorumlar

Tarayıcı bu HTML’i satır satır işler. Ancak sadece HTML yeterli değildir. HTML içinde:

  • CSS dosyaları (tasarım için),

  • JavaScript dosyaları (dinamik işlemler için),

  • Resimler, videolar, fontlar gibi farklı kaynaklar vardır.

Tarayıcı bu kaynakları paralel şekilde sunucudan tekrar talep eder.

6. Render Süreci (Görselleştirme)

Tarayıcı:

  1. HTML’i DOM (Document Object Model) ağacına çevirir.

  2. CSS’i CSSOM (CSS Object Model) yapısına dönüştürür.

  3. JavaScript kodlarını çalıştırarak sayfaya etkileşim ekler.

  4. Bunların birleşmesiyle sayfa kullanıcıya görsel olarak sunulur.

7. Modern Frameworkler (React, Angular, Vue)

Klasik web sayfalarında her istek yeni bir HTML sayfası dönerdi. Ancak modern dünyada Single Page Application (SPA) mantığı devreye girdi.

  • React, Angular, Vue gibi frameworkler, tarayıcıya sadece bir temel HTML + JavaScript gönderir.

  • Sonrasında tarayıcı içindeki JavaScript, API’lere (ör. GET /api/products) istek atarak veriyi çeker ve sayfanın sadece ilgili kısmını günceller.

  • Bu sayede kullanıcı, her sayfa geçişinde tüm siteyi yeniden yüklemez; çok daha hızlı ve akıcı bir deneyim yaşar.

8. Arka Planda API ve Sunucu Mantığı

Modern sitelerde “arka uç (backend)” çoğu zaman JSON dönen REST API veya GraphQL servisleri sunar.

  • Örneğin: GET /api/users/5 çağrısı yaptığında JSON veri döner:

{
  "id": 5,
  "ad": "Ahmet",
  "email": "ahmet@example.com"
}
  • Tarayıcıdaki React veya Angular uygulaması bu veriyi alır, HTML üzerinde işler ve kullanıcıya sunar.

Sonuç

Bir web sitesine girmek, aslında istemciden başlayan ve DNS, TCP/IP, HTTP, HTML yorumlama ve modern frameworklere kadar uzanan zincirleme bir süreçtir.
Bugün kullandığımız hızlı ve interaktif web deneyimi, işte bu adımların uyumlu çalışması sayesinde mümkün olur.