~/sibercrew
Temel Network

HTTP ve HTTPS Temelleri: Web Siteleri Nasıl Çalışır?

Tarayıcına bir adres yazdığında perde arkasında neler oluyor, basitçe anlatım.

Bu Temel Network serisinin son makalesinde, günlük hayatta en sık kullandığımız ama arka planında ne olduğunu genelde düşünmediğimiz bir şeye bakıyoruz: bir web sitesine girdiğimizde tam olarak ne oluyor?

İstemci-Sunucu Modeli

İnternetin çoğu, istemci-sunucu (client-server) modeliyle çalışır:

  • İstemci (client): Senin tarayıcın (Chrome, Firefox gibi) — bir şey İSTEYEN taraf.
  • Sunucu (server): İstenilen web sitesinin dosyalarını barındıran, uzaktaki bir bilgisayar — isteği KARŞILAYAN taraf.

Bunu bir restorana benzetebiliriz: sen (istemci) garsona bir yemek siparişi verirsin, mutfak (sunucu) bu siparişi hazırlayıp sana gönderir. Tarayıcına bir adres yazdığında, aslında o sitenin sunucusuna "bana bu sayfayı gönder" diye bir istek (request) gönderiyorsun.

HTTP Nasıl Çalışır?

HTTP (HyperText Transfer Protocol), tarayıcı ile web sunucusu arasındaki bu "konuşmanın" kurallarını belirleyen protokoldür. Temel akış şöyledir:

  1. Tarayıcı, sunucuya bir istek (request) gönderir: "Bana anasayfayı göster" (GET / gibi).
  2. Sunucu, bu isteği işler ve bir yanıt (response) döner — genelde bir durum kodu (status code) ile birlikte.
  3. Tarayıcı, gelen yanıtı (HTML, resimler, CSS gibi) işleyip ekranında görsel bir sayfa olarak gösterir.

Yaygın HTTP Durum Kodları

Bir web sitesine her gittiğinde, arka planda bir "durum kodu" (status code) döner — bunlardan bazılarını muhtemelen tanıyorsun:

KodAnlamı
200Başarılı, her şey yolunda
301/302Yönlendirme (başka bir sayfaya git)
404Sayfa bulunamadı
403Erişim yasak
500Sunucu tarafında bir hata oluştu

Bu kodları tanımak, hem normal web kullanımında hem de ileride öğreneceğin güvenlik testlerinde (bir sitenin nasıl tepki verdiğini anlamak için) çok işine yarayacak.

HTTPS: HTTP'nin Şifreli Hâli

HTTPS (HTTP Secure), normal HTTP'nin üzerine bir şifreleme katmanı (TLS) eklenmiş hâlidir. Tarayıcının adres çubuğunda gördüğün kilit simgesi, bağlantının şifreli olduğunu, yani sen ile sunucu arasındaki verinin araya giren biri tarafından okunamayacağını gösterir.

Bunu şöyle düşünebilirsin: HTTP, açık bir kartpostal göndermek gibidir — postacı (veya araya giren herkes) yazdığın her şeyi okuyabilir. HTTPS ise kilitli bir zarf içinde mektup göndermek gibidir — sadece alıcı (gerçek web sitesi) zarfı açıp içeriği okuyabilir.

Günümüzde neredeyse tüm ciddi web siteleri HTTPS kullanır çünkü şifresiz HTTP üzerinden gönderilen bilgiler (şifreler, kredi kartı numaraları gibi) aynı Wi-Fi ağındaki biri tarafından kolayca "dinlenebilir" (bunu ileride Ağ Güvenliği kütüphanemizdeki MITM makalesinde detaylıca göreceğiz).

Bir Web Sitesine Girerken Perde Arkasında Olanlar (Özet)

  1. Tarayıcı, adres çubuğuna yazdığın alan adının IP adresini bulmak için bir DNS sorgusu yapar.
  2. Bulunan IP adresine, TCP üzerinden bir bağlantı kurulur (port 443, HTTPS için).
  3. TLS "el sıkışması" gerçekleşir, şifreli bir kanal kurulur.
  4. Tarayıcı, bu şifreli kanal üzerinden bir HTTP isteği gönderir.
  5. Sunucu, istenen sayfayı (HTML, resimler, script'ler) yanıt olarak gönderir.
  6. Tarayıcı, gelen bu veriyi işleyip ekranında görsel bir sayfa hâline getirir.

Bu tek bir "sayfaya girme" eylemi, aslında birçok farklı protokolün (DNS, TCP, TLS, HTTP) uyum içinde çalışmasının sonucudur — bu serideki tüm makaleleri okuduysan, artık bu sürecin HER adımını anlıyorsun!

Bu makale, HTTP/HTTPS temellerine giriş niteliğinde, başlangıç seviyeli bir özetidir ve Temel Network serimizin son makalesidir; SiberCrew ekibi tarafından hazırlanmış özgün içeriktir.