Web Sunucusu Nedir? Çalışma Mantığı ve Görsel Rehber
Web sunucusu nedir, HTTP isteği nasıl karşılanır, veri nasıl iletilir? Web sitenizin çalışmasını uçtan uca anlayan pratik görsel rehber.
Web sunucusu, bir web sitesinin tarayıcıdan gelen istekleri karşılayıp sayfayı (veya uygulama verisini) geri döndürdüğü altyapıdır. Bu içerikte “web sunucusu ne yapar?” sorusunu, HTTP akışı, dosya/uygulama işleyişi ve ağ katmanları dahil olmak üzere adım adım açıklıyoruz. Okuduktan sonra, alan adınız (domain) üzerinden gelen isteğin sunucuda nasıl işlendiğini ve nerede hata çıkabildiğini net şekilde göreceksiniz.
Aşağıdaki rehber “görsel” kurgulanmıştır: Metin tabanlı diyagramlar ve akış adımlarıyla, bileşenlerin sırasını tek ekranda takip edebilirsiniz.
Web sunucusu nedir? Hangi işi yapar?
Web sunucusu, istemciden (çoğunlukla tarayıcı) gelen HTTP/HTTPS isteklerini karşılayan ve uygun yanıtı üreten yazılımdır (örn. Nginx, Apache) ve/veya bu yazılımı çalıştıran sunucu altyapısıdır.
Pratikte iki bileşen birlikte düşünülür:
- Web sunucusu yazılımı: İstekleri alır, yönlendirir, statik dosyaları verir, gerekiyorsa uygulamaya iletir.
- Barındırma ortamı (hosting/VPS/VDS/dedicated): Web sunucusunun çalıştığı CPU, RAM, disk ve ağ kaynakları sağlar.
Statik ve dinamik içerik ayrımı
Web sunucusu, içerik türüne göre farklı davranır:
- Statik içerik: HTML, CSS, JavaScript, görsel (image) dosyaları. İstek geldiğinde genellikle doğrudan dosyadan yanıt üretir.
- Dinamik içerik: WordPress, Laravel gibi uygulamalar. Web sunucusu istekten gelen route’a göre uygulamayı (PHP-FPM, Node, Java vb.) çağırır, sonuç HTML/JSON olarak döner.
Bu ayrım, “neden bazı sayfalar hızlı, bazıları yavaş?” sorusunun teknik temelidir. Statik dosya genellikle daha az işlem gerektirir; dinamik sayfa ise veritabanı sorgusu ve uygulama kodu nedeniyle daha fazla kaynak harcar.
Web sunucusu nasıl çalışır? Uçtan uca akış diyagramı
Aşağıdaki akış, bir kullanıcının tarayıcıda domain’i açtığında “sayfanın neden geldiğini” gösterir. Aynı mantık API istekleri için de geçerlidir.
Görsel akış: domain → IP → TLS → HTTP
1) Tarayıcı domain’i IP’ye çevirir (DNS)
2) Tarayıcı, sunucuyla şifreli bağlantı kurar (HTTPS)
3) Tarayıcı, HTTP isteğini yollar (GET/POST)
4) Web sunucusu isteği işler ve yanıt döner
5) Yanıt tarayıcıya ulaşır, sayfa görüntülenir
Şematik görünüm:
- Kullanıcı Tarayıcı → (DNS sorgusu)
- DNS → domain → sunucu IP
- Sunucu (Web Server) → (TLS el sıkışma: sertifika doğrulama) → (HTTP istek işleme: yönlendirme + içerik üretimi) → HTTP yanıt
- Tarayıcı → HTML/CSS/JS + görselleri alır
Diyagram: HTTP istek işleme (Nginx/Apache + uygulama)
Aşağıdaki “iç mekanizma” şeması, isteğin sunucuda nasıl ilerlediğini anlatır.
- Tarayıcı:
GET /urun/123 - Web sunucusu (ör. Nginx):
- URL’yi kural tabanlı eşleştirir (location/route)
- Statik mi dinamik mi kontrol eder
- Dinamikse uygulamaya devreder:
- PHP ise: PHP-FPM
- Node ise: upstream (ör. 127.0.0.1:3000)
- Java ise: application container
- Uygulama:
- Gerekirse veritabanı sorgular
- Şablon/response üretir (HTML/JSON)
- Web sunucusu:
- Cevabı istemciye döndürür
HTTP ve status kodları: “Ne oldu?”yu anlamanın anahtarı
Web sunucusunun çalışma mantığını kavramanın en pratik yolu, istemciye dönen HTTP status kodlarına bakmaktır. Bu kodlar, hangi aşamada sorun çıktığını ayırt etmenizi sağlar.
Aşağıdaki tablo, en sık görülen kodların “anlamını” özetler:
| Kod | Anlam (kısa) | Genelde nerede kontrol edilir? |
|---|---|---|
| 200 | İstek başarılı | Uygulama çalışıyor, içerik üretildi |
| 301/302 | Yönlendirme | SSL/HTTPS redirect, domain canonical ayarı |
| 400 | İstek hatalı | URL/parametre/başlık uyumsuzluğu |
| 401 | Kimlik doğrulama gerekli | Auth ayarı, oturum (session) |
| 403 | Yasak | Dizin izinleri, erişim kuralları (ACL) |
| 404 | Bulunamadı | Document root, route eşleşmesi |
| 429 | Rate limit aşıldı | WAF / reverse proxy / throttling |
| 500 | Sunucu hatası | Uygulama hata logları, PHP-FPM/Node |
| 502 | Bad gateway | Reverse proxy upstream arızası |
| 503 | Hizmet geçici kullanılamıyor | Load/maintanence, kaynak yetersizliği |
| 504 | Gateway timeout | Uygulama yanıt veremedi |
“403 mü geliyor 404 mü?” farkı
- 403: Genellikle sunucu “erişim var ama izin vermiyor” der. Dizin yetkileri,
deny/allow, yanlışrootveya güvenlik kısıtları etkili olur. - 404: Sunucu “bu dosya/route yok” der. Yanlış document root, eksik dosya yolu veya uygulama route eşleşmesi etkili olur.
Bu ayrımı bilmek, gereksiz denemeleri azaltır. Örneğin WordPress’te “sayfa yok” görünürken aslında izin hatası olsaydı (403), farklı bir teşhis yapılır.
Web sunucusu bileşenleri: Hangi parça neyi etkiler?
Web sunucusunu tek bir cihaz gibi düşünmek yerine, bileşenleri ayırmak performans ve hata teşhisinde hız kazandırır.
1) TLS/sertifika (HTTPS)
- Tarayıcı ile sunucu arasındaki şifreli kanalın kurulmasını sağlar.
- Yanlış/eksik sertifika; tarayıcıda uyarı, otomatik yönlendirmelerde döngü veya handshake hataları yaratabilir.
2) Reverse proxy / yük dağıtımı (varsa)
Sunucu mimarisinde bazen web sunucusu tek başına çalışmaz. Örneğin CDN/WAF katmanları veya reverse proxy devrede olabilir.
- Reverse proxy: İstekleri iç servis(ler)e iletir.
- Upstream arızası → 502/504 gibi hataları tetikleyebilir.
3) Uygulama çalıştırıcıları
Dinamik içerik için web sunucusu genellikle “uygulamayı çağırır”. Bu katman: - PHP-FPM: PHP uygulamalarında süreç yönetimi - Node: event loop tabanlı işleyiş - Java: servlet/container
Dinamik yanıt süreleri, çoğu zaman bu katmanın ve veritabanının performansına bağlıdır.
4) Dosya sistemi ve izinler
Statik dosyalar veya uygulama dosyaları diskten okunur. - Yanlış dizin izinleri (permission) → 403 - Eksik dosya yolu → 404
5) Cache katmanları (varsa)
Önbellekler yoksa sunucu her istekte aynı işi yeniden yapar. - Uygulama cache’i (opcode cache, object cache) - CDN cache (sınırın dışında yanıt saklama) - Tarayıcı cache (ETag/Cache-Control)
Görsel teşhis rehberi: “Sayfa neden açılmıyor?” akışları
Bu bölüm, web sunucusunun çalışma mantığıyla bağlantılı şekilde “hızlı teşhis” sağlar. Aşağıdaki akışlar, sorunun kaynağını katmana göre ayırır.
Akış A: DNS mi, sunucu mu?
-
Tarayıcı domain’e ulaşıyor mu? - DNS yanıtı gelmiyorsa sayfa açılmaz; genellikle farklı hata mesajları olur (tarayıcı DNS kaynaklı uyarılar).
-
DNS doğru ama sayfa açılmıyorsa: - TLS/HTTPS problemi olabilir - HTTP katmanı hata dönebilir (status kodu)
Hızlı sonuç için pratik hedef: - Tarayıcı Network panelinde ilk bağlantı aşaması nerede bozuluyor görmeye çalışın.
Akış B: Status koduna göre teşhis
- 404: Route/document root yanlış veya dosya yok.
- 403: Dizin izinleri veya erişim kuralı yanlış.
- 500: Uygulama hata fırlatıyor; uygulama/servis loglarına bak.
- 502/504: Reverse proxy upstream sorunları veya uygulama timeout.
- 429: Rate limit; bot saldırısı, yanlış throttling veya gerçek trafiğin aşımı.
Web sunucusunda performansı ne belirler?
Web sunucusu, “en hızlı” haliyle bile her koşulda aynı performansı vermez. Performansı belirleyen temel başlıkları net listeleyelim.
- CPU ve RAM: Aynı anda kaç bağlantı işlendiği (concurrency)
- Disk I/O: Statik dosya okuma, log yazma ve veri erişimi
- Uygulama iş yükü: Dinamik sayfada PHP/Node süreçleri ve template render
- Veritabanı gecikmesi: Dinamik yanıtların en sık darboğazı
- HTTP/HTTPS optimizasyonu: TLS ayarları, keep-alive, sıkıştırma (gzip/brotli)
- Cache kullanımı: Tekrar eden isteklerde zaman kazanımı
Ölçekleme mantığı: statik mi dinamik mi?
Kıyas yapmak için pratik yaklaşım: - Sayfanın ağırlıklı kısmı statikse, web sunucusu + CDN genellikle belirleyici olur. - Dinamikse, uygulama katmanı ve veritabanı (ve gerekirse cache) belirleyici olur.
Görsel örnek: WordPress gibi bir CMS’de istek nasıl akar?
WordPress, dinamik bir CMS’dir; bu yüzden web sunucusundan uygulamaya devir sık görülür.
Şema:
- Tarayıcı: GET /wp-content/uploads/... (statik görsel)
- Web sunucusu → dosyayı doğrudan verir → 200
- Tarayıcı:
GET /blog/kategori-baslik/ - Web sunucusu → istek WordPress route’unu uygulamaya iletir
- PHP-FPM → WordPress → MySQL sorguları
- Sonuç → HTML olarak döner
Bu ayrımı bildiğinizde, “görseller açılıyor ama sayfalar açılmıyor” gibi durumlarda teşhisin yönü değişir.
Web sunucusu seçerken neye bakılır? (Kısa kontrol listesi)
NetKıyas’ta karşılaştırma yaparken amaç; sunucu mimarisinin “sizin senaryonuza” uyduğunu kontrol etmektir. Web sunucusu konusu özelinde aşağıdaki maddeler karar kolaylaştırır:
- Beklenen trafik profili: ziyaretçi sayısı + aynı anda istek (concurrency)
- İçerik türü: statik mi dinamik mi, CMS kullanımı var mı
- TLS gereksinimi: HTTPS trafiği yoğun mu
- Cache kurgusu: CDN/WAF kullanıyor musunuz
- Yönetim modeli: işletim sistemi + web sunucusu + uygulama servisleri sizin kontrolünüzde mi
- Log ve izleme: hata teşhisi için erişim
Sonuç: Aksiyon planı ile ilerleyin
Web sunucusunu doğru anlamak; DNS’den başlayıp TLS ve HTTP status kodlarına kadar olan zinciri katman katman ayırmaktır. İlk adım olarak kendi sitenizde veya bir test domain’de, tarayıcı Network panelinden status kodlarını ve hangi aşamada takıldığını kontrol edin. Ardından “statik mi dinamik mi?” sorusuna göre teşhisin yönünü netleştirin: statik dosyada izin/route hatası, dinamikte ise PHP/uygulama ve veritabanı gecikmeleri öne çıkar. Bu sırayla ilerlediğinizde sorunları daha hızlı izole eder ve doğru hosting/altyapı ayarlarına ulaşırsınız.
Hosting karşılaştırması yapmaya hazır mısın?
100+ firmanın fiyatlarını tek tıkla karşılaştır, en uygun paketi bul.
Hosting Karşılaştır →İlgili Yazılar
Yavaş Database Sorguları Nasıl Bulunur? Net Optimizasyon Rehberi
Yavaş sorguları bulmak için MySQL/PostgreSQL’de doğru log ve metrikleri toplayın, problemli SQL’i tespit edip ölçülebilir şekilde optimize edin.
Snapshot yedekleme gerçek backup yerine geçer mi?
Snapshot (anlık görüntü) hızlı geri dönüş sağlar. Ancak gerçek backup değildir. Doğru strateji, süre/erişim ve test kriterlerini birlikte ele alır.
Paylaşımlı Hosting Yeterli mi? Ne Zaman Değiştirmeli?
Paylaşımlı hosting ne zaman yeterli olur, ne zaman VDS/VPS gerekir? Trafik, kaynak, hız, güvenlik ve maliyet eşiklerini net şekilde öğren.
Sunucu Loglarından Anormallik Tespiti: Net İzleme Rehberi
Sunucu loglarını izleyerek CPU, servis hatası ve güvenlik sinyallerini kaçırmadan anormallik tespit edin. Adım adım filtreler ve kontrol listesi.