İçeriğe geç
Yeni yazı çıkınca e-posta · 4.812 abone 242 rehber · 78 ipucu · 58 komut RSS GitHub LinkedIn İletişim
Ara Ctrl K Bültene katıl
Tüm arşiv · 242 rehber →
Tüm araçlar · 75 üreteç →
Web Sunucu

Web sunucusu nedir? İstekten yanıta kadar

Bir isteğin sunucuda izlediği yol, statik ile dinamik içerik farkı, sanal konak mantığı, uygulama sunucusuyla ilişkisi ve eşzamanlılık modelinin sonuçları.

Mustafa Çelik 27 Ağustos 2026 · 6 dk okuma

Tarayıcıya bir adres yazıldığında ve sayfa açıldığında, arada birkaç ayrı bileşen sırayla iş yapar. “Web sunucusu” denen şey bunların yalnızca biridir — ve hangi işi yaptığını bilmek, arıza ararken doğru yere bakmayı sağlar.

İsteğin izlediği yol

Sıra kabaca şudur.

Önce adres bir IP’ye çözülür; nasıl olduğu DNS nasıl çalışır yazısında. Sonra tarayıcı o adrese bağlanır ve şifreli bağlantı kurulur; mekanizması TLS sertifikası nasıl çalışır yazısında.

Ardından tarayıcı bir istek gönderir: hangi yolu istediğini, hangi konak adına bağlandığını ve neleri kabul edebileceğini söyler.

Web sunucusu bu isteği alır ve tek bir karar verir: bu isteği kendim mi yanıtlayacağım, yoksa başkasına mı devredeceğim?

Statik ile dinamik

Karar bu ayrımdan çıkar.

Statik içerik, diskte hazır duran dosyalardır: görseller, biçim dosyaları, betikler, önceden üretilmiş sayfalar. Web sunucusu bunları doğrudan okuyup gönderir. Bu iş çok hızlıdır ve sunucunun asıl uzmanlık alanıdır.

Dinamik içerik, isteğe göre üretilir: kullanıcıya özel bir sayfa, bir arama sonucu, bir sipariş listesi. Bunu web sunucusu üretmez; arkadaki uygulamaya devreder, yanıtı alır ve istemciye iletir.

Bu ayrım performansın temelidir. Bir sayfanın statik hâle getirilebilen her parçası, uygulamaya hiç uğramadan servis edilir.

Sanal konak

Tek bir sunucu, tek bir IP adresiyle onlarca farklı siteyi barındırabilir. Bunu sağlayan şey, isteğin içinde taşınan konak adı bilgisidir.

Sunucu bu ada bakar ve hangi sitenin yapılandırmasını kullanacağına karar verir. Aynı IP’ye gelen iki farklı ad, tamamen farklı iki siteye çözülür.

Şifreli bağlantıda bir incelik vardır: sunucunun hangi sertifikayı sunacağını, bağlantı kurulurken bilmesi gerekir. İstemci bu yüzden bağlanmanın en başında hangi adı istediğini bildirir. Çok eski istemciler bunu yapmaz ve yanlış sertifika alırlar.

En sık görülen yapılandırma hatası buradadır: tanımlı olmayan bir adla gelen istek, listedeki ilk siteye düşer. Beklenmedik bir siteyi görmenin klasik nedeni budur; çözümü, tanımsız adlar için açık bir varsayılan tanımlamaktır.

Uygulama sunucusu ayrı bir şeydir

Karışıklığın büyük bölümü buradan doğar.

Web sunucusu, HTTP konuşur ve dosya servis eder. Uygulama sunucusu ise kodu çalıştırır; kendi süreç havuzu, kendi bellek yönetimi ve kendi yaşam döngüsü vardır.

İkisi arasındaki bağlantı, ayrı bir protokol ya da yerel bir soket üzerinden kurulur.

Bu ayrım arıza aramada belirleyicidir. Sayfa açılmıyorsa soru şudur: web sunucusu mu yanıt vermiyor, yoksa uygulamadan yanıt alamıyor mu? İkisi farklı durum kodları üretir; ayrımı HTTP durum kodları yazısında.

Eşzamanlılık modeli

Web sunucularının performans farkı büyük ölçüde tek bir tasarım kararından gelir: aynı anda gelen binlerce bağlantı nasıl karşılanır?

Eski model her bağlantı için ayrı bir süreç ya da iş parçacığı ayırır. Anlaşılması kolaydır; ama her bağlantı bellek tüketir ve sayı arttıkça sunucu tükenir.

Modern model, az sayıda çalışanın çok sayıda bağlantıyı aynı anda takip etmesine dayanır. Bağlantı beklerken kaynak tüketmez.

Pratik sonucu şudur: yavaş istemcilerin çok olduğu ortamlarda — mobil ağlar, uzak kullanıcılar — ikinci model belirgin biçimde dayanıklıdır. Öndeki sunucunun yavaş istemciyi tamponlaması, arkadaki uygulamayı korur; ayrıntısı ters vekil nedir yazısında.

Yapılandırmanın üç kritik alanı

Bir web sunucusunu ilk kez ayağa kaldırırken üç şey ilk gün karara bağlanmalıdır.

Kök dizin ve erişim sınırı. Sunucunun hangi dizini servis edeceği ve o dizinin dışına çıkılamayacağı. Yanlış yapılandırma, yapılandırma dosyalarının indirilebilir olmasına yol açar.

Günlükler. Erişim ve hata günlüklerinin nereye yazıldığı ve ne kadar tutulacağı. Sonradan eklenmez — sorun yaşandığında zaten geçmiş kayıt gerekir. Okuma yöntemi erişim günlüğü okumak yazısında.

Sınırlar. Bir isteğin en fazla ne kadar büyük olabileceği ve ne kadar sürebileceği. Sınırsız bırakılan bir sunucu, tek bir istekle tüketilebilir.

İki yaygın sunucu, iki farklı gelenek

Bugün karşınıza çıkacak iki ana seçenek vardır ve aralarındaki fark yalnızca performans değildir.

Biri, yapılandırmayı dizin içine bırakılan dosyalarla da yapılabilir hâle getirir. Paylaşımlı barındırmada yaygınlaşmasının nedeni budur: her sitenin sahibi kendi kurallarını yazabilir. Bedeli, her istekte bu dosyaların aranmasıdır.

Diğeri yapılandırmayı tek merkezde tutar ve dizin içi dosyaları hiç okumaz. Daha hızlıdır ve daha öngörülebilirdir; buna karşılık her değişiklik yapılandırmanın yeniden yüklenmesini gerektirir.

Seçim, kimin yapılandırma yapacağına bakar.

Kısaca

Web sunucusu, HTTP isteğini alıp ya diskteki dosyayla yanıtlar ya da arkadaki uygulamaya devreder.

Statik ile dinamik ayrımını bilmek performansın, sanal konak mantığını bilmek yapılandırmanın, uygulama sunucusuyla ayrımını bilmek ise arıza aramanın temelidir. Üçü karıştırıldığında hata her seferinde yanlış yerde aranır.

Mustafa Çelik

Altyapı ve Operasyon Müdürü, İstanbul. 25 yıldır BT altyapısı, sistem yönetimi ve ağ altyapısıyla uğraşıyor; öğrendiklerini bu blogda üretim ortamında denenmiş rehberlere çeviriyor.

Hakkımda

Bu rehber işinize yaradıysa, sonrakini kaçırmayın.

Yeni yazı yayınlandığında tek e-posta. Takvim yok, dilediğiniz an çıkabilirsiniz.

Bülten sağlayıcısı henüz bağlanmadı. Bağlanana kadar e-posta ile yazabilirsiniz ya da RSS akışını takip edebilirsiniz.