Web Sunucusu (Web Server) Nedir? Nginx, Apache ve IIS
Web sunucusunun bir HTTP isteğini nasıl karşıladığını, uygulama sunucusundan farkını, Nginx, Apache ve IIS'i, TTFB'yi ve güvenlik ayarlarını anlattık.

Kısa cevap: Web sunucusu (web server), tarayıcı gibi istemcilerden gelen HTTP isteklerini karşılayıp cevap gönderen yazılımdır; bu yazılımı çalıştıran makineye de web sunucusu denir. Statik dosyaları kendisi gönderir, dinamik sayfalar için isteği PHP, Java ya da .NET ile çalışan bir uygulamaya iletir. Yaygın örnekler arasında Nginx, Apache HTTP Server ve Windows'ta IIS var; Nginx gibi bazıları reverse proxy ve load balancer olarak da çalışır. Kullanıcının ilk bayta ne kadar sürede ulaştığını TTFB ölçer. Güvenlik ise güncel yazılıma, gereksiz modüllerin kapatılmasına ve doğru TLS ayarına bağlıdır.
Web sunucusu nedir?
HTTP'nin temel kurallarını tanımlayan RFC 9110 (Haziran 2022), HTTP sunucusunu bağlantıları kabul edip isteklere HTTP cevaplarıyla hizmet veren program olarak tanımlıyor. İstemci ise istek göndermek için sunucuya bağlantı kuran programdır; RFC'ye göre bu adlar, programların yalnızca o bağlantıdaki rolünü anlatır. Bir kaynak için yetkili cevabı üreten sunucunun adı origin server.
Türkçede web sunucusu hem yazılımın hem de onu çalıştıran makinenin adı; bu ikiliği sunucu yazımızda açtık. Web sunucusunun yapılandırmasını ve bakımını hizmet olarak almanın kısa tanımı sözlüğümüzde var.
Bir istek web sunucusuna nasıl ulaşır?
Tarayıcıya bir adres yazıldığında sırasıyla şunlar olur:
- Tarayıcı, alan adının IP adresini DNS ile bulur.
- Sunucuyla bir TCP bağlantısı kurar (RFC 9293); HTTP/3 ise TCP yerine UDP üzerinde çalışan QUIC protokolünü kullanır.
- HTTPS'te bağlantı TLS ile şifrelenir (SSL ve TLS yazımız). RFC 9110'a göre varsayılan port HTTP'de 80, HTTPS'te 443.
- Tarayıcı isteği gönderir. Tek makinede birden fazla site çalışabildiği için sunucu, isteğin hangi siteye ait olduğunu Host başlığından anlar; Nginx belgelerine göre başlık hiçbir siteyle eşleşmezse istek o portun varsayılan sunucusuna gider.
- Sunucu bir durum koduyla cevap verir. IANA kaydına göre 2xx başarıyı, 3xx yönlendirmeyi, 4xx istemci hatasını, 5xx sunucu hatasını gösterir; 200 OK, 301 Moved Permanently ve 404 Not Found bu sınıfların bilinen örnekleri.
Statik ve dinamik içerik
Nginx belgelerine göre bir web sunucusunun önemli işlerinden biri resim ya da statik HTML sayfası gibi dosyaları sunmak. Statik içerik her ziyaretçiye aynı gider: sunucu dosyayı okuyup gönderir, bu yüzden önbelleğe alınması da kolaydır. Dinamik içerik ise istek anında üretilir: bir arama sonucu ya da oturum açmış kullanıcının sepeti bu türdendir. Apache belgelerine göre CGI, web sunucusunun içerik üreten harici programlarla konuşma yolunu tanımlar. Nginx de isteği PHP gibi dillerle yazılmış uygulamaları çalıştıran FastCGI sunucularına yönlendirebilir. Statik içeriği kullanıcıya yakın sunuculardan dağıtmayı CDN yazımızda anlattık.
Web sunucusu, uygulama sunucusu ve reverse proxy
Uygulama sunucusu iş mantığını çalıştırır. Örneğin Apache Tomcat, Jakarta Servlet ve Jakarta Pages gibi Java belirtimlerinin açık kaynak uygulaması. ASP.NET Core için Microsoft'un Kestrel adlı bir web sunucusu var; Microsoft'a göre Kestrel tek başına internete açılabilir ya da önüne IIS, Nginx veya Apache gibi bir reverse proxy konabilir.
Yaygın kurulumda web sunucusu önde durur: statik dosyaları kendisi gönderir, gerisini arkadaki uygulamaya iletir. Reverse proxy'nin faydalarını proxy yazımızda, trafiği birden fazla sunucuya dağıtmayı load balancer yazımızda anlattık. Bu düzende 502 Bad Gateway, gateway ya da proxy olarak çalışan sunucunun arkadaki (upstream) sunucudan geçersiz cevap aldığını; 504 Gateway Timeout ise zamanında cevap alamadığını gösterir. İki hata da sorunu web sunucusunun arkasındaki katmanda aramayı söyler.
Nginx, Apache ve IIS
- Nginx: nginx.org'a göre bir HTTP web sunucusu, reverse proxy, içerik önbelleği, load balancer, TCP/UDP proxy ve e-posta proxy sunucusu; ilk olarak Igor Sysoev tarafından yazıldı. Bir master ve birkaç worker süreciyle çalışır: master yapılandırmayı okur, worker'lar istekleri olay tabanlı (event-based) bir modelle işler.
- Apache HTTP Server: Apache Software Foundation'ın projesi; tarihçesine göre ilk resmî sürümü Nisan 1995'te çıktı. Portu dinleme, istekleri kabul etme ve alt süreçlere dağıtma işini bir MPM (multi-processing module) yapar; modern sistemlerde varsayılan neredeyse her zaman event. Dizin bazında ayar için .htaccess dosyaları kullanılabilir, ama belgelere göre ana yapılandırmaya erişim varsa ayarlar orada tutulmalı.
- IIS (Internet Information Services): Windows'un web sunucusu. Microsoft'a göre istekleri çekirdek modunda çalışan HTTP.sys dinler; application pool'lar uygulamaları süreç sınırlarıyla birbirinden ayırır. IIS, Windows'un bir bileşeni olarak onunla aynı yaşam döngüsünü izler: Windows Server 2016'daki IIS 10'un desteği Ocak 2027'de bitiyor.
W3Techs'in 13 Ekim 2026 verisine göre web sunucusu bilinen sitelerde Nginx'in payı %30,6, Apache'nin %21,7, LiteSpeed'in %14,1, IIS'in %3,0. Listenin başında %31,8 ile Cloudflare Server var; Cloudflare'in anlatımıyla bu ağ, sitelerin önünde reverse proxy olarak çalışıyor.
Performans ve TTFB
web.dev'e göre TTFB (Time to First Byte), sayfaya gitmeye başlanması ile cevabın ilk baytının gelmeye başlaması arasındaki süre. Yönlendirme, DNS sorgusu, bağlantı ve TLS kurulumu gibi adımları da kapsar; yani yalnızca sunucuyu değil, yolun tamamını ölçer. web.dev kabaca 0,8 saniye ya da altını hedeflemeyi öneriyor. TTFB bir Core Web Vitals metriği değil, ama FCP ve LCP gibi kullanıcı odaklı metriklerden önce geldiği için onları da geciktirir.
İyileştirme rehberine göre ilk bakılacak yer barındırma; ardından CDN, önbellek ve gereksiz yönlendirmelerin kaldırılması geliyor. Server-Timing başlığı arka uçtaki adımların süresini ölçmeye yarar. Apache'de .htaccess'e izin vermek de her istekte ek dosya aramasına yol açar. Terimin kısa tanımı sözlüğümüzde var.
Web sunucusu güvenliği
NIST'in SP 800-44 Sürüm 2 rehberine (Eylül 2007) göre web sunucuları, kurumların ağlarında en çok hedef alınan ve saldırıya uğrayan sistemler arasında. Temel önlemler şunlar:
- Güncel tutmak: Apache 2.4.49'daki bir yol (path) normalleştirme hatası (CVE-2021-41773) sahada istismar edildi. Apache'nin güvenlik sayfasına göre 4 Ekim 2021'de çıkan 2.4.50'deki düzeltme yetersiz kaldı, 7 Ekim'de 2.4.51 gerekti. Apache belgeleri, sunucuların çoğu zaman eklenti kodundaki, CGI betiklerindeki ya da işletim sistemindeki açıklarla ele geçirildiğini hatırlatıyor; güncelleme bütün yazılımı kapsamalı (yama yönetimi yazımız).
- Gereksiz modülleri kaldırmak: Microsoft'a göre yalnızca gereken modülleri kurmak, kullanılmayan işlevlerin getirdiği güvenlik risklerini ortadan kaldırır ve saldırı yüzeyini küçültür; IIS'in varsayılan kurulumunda yalnızca onu statik bir sunucu olarak çalıştıracak modüller gelir.
- Yetkiyi sınırlamak: Nginx'in worker süreçleri yetkisiz bir kullanıcıyla çalışır; Apache de root ile başlar, istekleri User yönergesinde tanımlı kullanıcıya geçerek karşılar.
- TLS ve WAF: TLS 1.0 ve 1.1, Mart 2021 tarihli RFC 8996 ile kullanımdan kaldırıldı. Sertifika ve protokol ayarlarını SSL yazımızda, uygulama katmanı saldırılarına karşı korumayı WAF yazımızda anlattık.
Bu ayarları standart hâle getirmeyi system hardening hizmetimizde ele alıyoruz.
Web sunucusu nerede çalışır?
Web sunucusu yazılımı fiziksel bir sunucuda, sanal makinede ya da bulut sunucuda çalışabilir; seçenekleri sunucu ve bulut sunucu yazılarımızda karşılaştırdık. Bulut sunucuda kimin neyi yönettiğini IaaS yazımızda anlattık. Container ile çalışan uygulamalarda web sunucusu da bir image'ın parçası olabilir; Kubernetes'te dış trafiği Ingress ya da Gateway API karşılar (Kubernetes yazımız). Web sunucusu ve uygulama katmanının işletimini Application Runtime & Middleware Operasyonları, altındaki sunucuları altyapı yönetimi hizmetimizde ele alıyoruz.
Sık sorulan sorular
Web server (web sunucusu) ne işe yarar? Tarayıcılardan gelen HTTP isteklerini karşılar; statik dosyaları gönderir, dinamik istekleri uygulamaya iletir ve cevabı istemciye döndürür.
Nginx nedir? Açık kaynak bir HTTP web sunucusu; reverse proxy, içerik önbelleği ve load balancer olarak da kullanılır.
Apache nedir? Web sunucusu bağlamında çoğu zaman Apache Software Foundation'ın açık kaynak projesi Apache HTTP Server kastedilir.
Nginx ile Apache arasındaki fark nedir? İkisi de açık kaynak web sunucusu. Nginx istekleri birkaç worker sürecinde olay tabanlı işler; Apache istek modelini MPM modülüyle seçtirir ve .htaccess ile dizin bazında ayara izin verir.
TTFB nedir? Time to First Byte: sayfaya gitmeye başlanmasından cevabın ilk baytının gelmesine kadar geçen süre. web.dev kabaca 0,8 saniye ya da altını hedeflemeyi öneriyor.
Kaynaklar
- IETF, RFC 9110 HTTP Semantics: istemci, sunucu ve origin server tanımları, varsayılan portlar (Haziran 2022)
- IETF, RFC 9293 Transmission Control Protocol (TCP): TCP'nin güncel tanımı (Ağustos 2022)
- IETF, RFC 9114 HTTP/3 (Haziran 2022) ve RFC 9000 QUIC: HTTP/3'ün QUIC, QUIC'in UDP üzerinde çalışması
- IANA, HTTP Status Code Registry: durum kodu sınıfları ve kodlar
- nginx.org, nginx, Beginner's Guide ve How nginx processes a request: tanım, master ve worker süreçleri, statik içerik, proxy ve FastCGI, Host başlığı
- Apache, About the Apache HTTP Server Project: proje tarihçesi
- Apache, Virtual Host documentation: tek makinede birden fazla site
- Apache, Multi-Processing Modules, .htaccess files ve Dynamic Content with CGI: MPM, .htaccess'in performans etkisi ve CGI
- Apache, Security Tips ve Apache HTTP Server 2.4 vulnerabilities: güncelleme, User yönergesi, CVE-2021-41773 ve CVE-2021-42013
- NIST NVD, CVE-2021-41773: açığın tanımı ve sahada istismar edildiği
- Apache Tomcat: Tomcat'in tanımı
- Microsoft, Kestrel web server in ASP.NET Core: Kestrel ve reverse proxy ile kullanımı
- MDN, 502 Bad Gateway ve 504 Gateway Timeout: durum kodlarının anlamı
- Microsoft, Introduction to IIS Architectures: HTTP.sys ve application pool'lar
- Microsoft, IIS lifecycle: IIS'in Windows yaşam döngüsünü izlemesi ve destek tarihleri
- Microsoft, IIS Enhanced Server Protection: modüler yapı ve saldırı yüzeyini küçültmek
- W3Techs, Usage statistics of web servers: web sunucusu payları (13 Ekim 2026)
- Cloudflare, How Cloudflare works: Cloudflare'in reverse proxy olarak çalışması
- web.dev, Time to First Byte (TTFB) ve Optimize Time to First Byte: TTFB tanımı, hedef değer ve iyileştirme yolları (son güncelleme Kasım 2025)
- NIST, SP 800-44 Version 2 Guidelines on Securing Public Web Servers: web sunucularının hedef olması (Eylül 2007)
- IETF, RFC 8996 Deprecating TLS 1.0 and TLS 1.1: eski TLS sürümlerinin kaldırılması (Mart 2021)
- Bu katmanı nasıl işlettiğimiz: Application Runtime & Middleware Operasyonları