Web Sunucusu

Protokoller ve Standartlar
HTTP veya HTTPS protokolleri üzerinden istemcilere web içeriği sunan yazılım ve donanım.
← Sözlüğe Dön

Web Sunucusu Nedir?

Web sunucusu, istemcilerden HTTP/HTTPS isteklerini kabul eden ve HTML sayfaları, görseller, stil sayfaları, betikler ve API yanıtları dâhil web içeriği sunan yazılımdır. Bu yazılımı çalıştıran donanım da aynı kapsamda değerlendirilir.

Web Sunucuları Nasıl Çalışır?

HTTP Request/Response Cycle:

Client (Browser) Web Server

│ │

│──── HTTP Request ──────────►│

│ GET /index.html │

│ Host: example.com │

│ │

│ Process Request

│ ├── Parse URL

│ ├── Check permissions

│ ├── Locate resource

│ └── Prepare response

│ │

│◄─── HTTP Response ──────────│

│ 200 OK │

│ Content-Type: text/html │

│ <html>...</html> │

│ │

Popüler Web Sunucusu Yazılımları

SunucuPazar payıEn uygun kullanım
nginx~34%Yüksek eşzamanlılık, reverse proxy
Apache~31%Esneklik, .htaccess
Cloudflare~21%CDN, edge computing
LiteSpeed~12%WordPress barındırma
IIS~6%Windows/.NET ortamları

Web Sunucusu İşlevleri

İşlevAçıklama
Statik dosya sunumuHTML, CSS, JS ve görseller
TLS/SSL sonlandırmaHTTPS şifrelemesi
Reverse proxyArka uç sunucularına iletme
Yük dengelemeTrafiği dağıtma
Önbelleğe almaArka uç yükünü azaltma
SıkıştırmaGzip/Brotli kodlaması
Erişim denetimiKimlik doğrulama ve IP filtreleme
Günlüklemeİstek ve hata günlükleri

Sunucu Yapılandırması Örnekleri

# nginx - Virtual host configuration

server {

listen 80;

listen 443 ssl;

server_name example.com;

root /var/www/example;

index index.html;

ssl_certificate /etc/ssl/cert.pem;

ssl_certificate_key /etc/ssl/key.pem;

location / {

try_files $uri $uri/ =404;

}

location /api {

proxy_pass http://localhost:3000;

}

}

# Apache - .htaccess example

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

# Enable compression

<IfModule mod_deflate.c>

AddOutputFilterByType DEFLATE text/html text/css application/javascript

</IfModule>

Web Sunucusu Mimarisi

Modern Web Stack:

Internet

┌─────────────┐

│ CDN/WAF │

└─────────────┘

┌─────────────┐

│ Load Balancer│

└─────────────┘

│ │

┌─────┘ └─────┐

▼ ▼

┌───────────┐ ┌───────────┐

│ Web Server│ │ Web Server│

│ (nginx) │ │ (nginx) │

└───────────┘ └───────────┘

│ │

└────────┬────────┘

┌─────────────┐

│ App Server │

│ (Node/Python)│

└─────────────┘

┌─────────────┐

│ Database │

└─────────────┘

Sunucu Tanımlama

Tespit yöntemiOrtaya çıkan bilgi
Sunucu başlığıYazılım adı ve sürümü
Yanıt başlıklarıTeknoloji yığını ipuçları
Hata sayfalarıVarsayılan sunucu şablonları
Zamanlama kalıplarıSunucuya özgü davranış
Dosya uzantılarıPlatform göstergeleri

Güvenlik Değerlendirmeleri

1. Sürüm bilgisini gizleyin: Sunucu sürümünü başlıklardan kaldırın

2. Dizin listelemeyi devre dışı bırakın: Dosya enumerasyonunu önleyin

3. TLS’yi doğru yapılandırın: Modern protokoller ve güçlü şifreler kullanın

4. İstek boyutlarını sınırlayın: DoS saldırılarını önleyin

5. Güvenlik başlıkları belirleyin: CSP, HSTS ve X-Frame-Options kullanın

6. Düzenli güncelleyin: Güvenlik açıklarını hızla yamalayın

Performans Optimizasyonu

TeknikFaydası
Keep-aliveBağlantıları yeniden kullanma
Gzip/BrotliDaha küçük yanıtlar
Statik önbelleklemeDisk G/Ç’sini azaltma
Worker ayarıDaha fazla eşzamanlı kullanıcı işleme
HTTP/2Çoklanmış istekler

En İyi Uygulamalar

1. İhtiyaca göre seçin: Proxy için nginx, esneklik için Apache

2. Statik ve dinamik içeriği ayırın: Statik içerik için CDN, dinamik içerik için sunucu kullanın

3. Kaynakları izleyin: CPU, bellek ve bağlantıları takip edin

4. Önbellekleme uygulayın: Tarayıcı, proxy ve sunucu tarafı önbelleklerini kullanın

5. Günlüklemeyi yapılandırın: Analiz için yapılandırılmış günlükler tutun

6. Ölçeklemeyi planlayın: Yük dengeleme ve yatay ölçekleme hazırlayın

Web sunucuları, içeriği kullanıcılara güvenilir ve verimli biçimde sunarak web altyapısının temelini oluşturur.

Bu Bilgiyi Uygulamaya Koyun

Alan adı uygunluğunu, durumunu ve daha fazlasını kontrol etmek için DomScan API'sini kullanın.