Giriş
Web sitenizi hızlandırmanın en etkili yollarından biri, HTTP/3 ve QUIC protokolünü devreye almak. 2024 ve sonrasında modern tarayıcıların büyük bölümü HTTP/3’ü yerleşik destekliyor ve başta mobil kullanıcılar olmak üzere gecikmeye duyarlı senaryolarda ciddi kazanımlar sağlıyor. Bu rehberde, HTTP/3 (QUIC) nedir, neden önemlidir ve Cloudflare ile Nginx üzerinde nasıl etkinleştirilir adım adım anlatıyorum. Ayrıca doğru test ve ölçüm yöntemleriyle kurulumun gerçekten işe yarayıp yaramadığını nasıl doğrulayabileceğinizi paylaşıyorum.
HTTP/3 ve QUIC Nedir, Neden Önemli?
HTTP/3, Google’ın QUIC protokolü üzerine inşa edilen ve TCP yerine UDP kullanan modern bir HTTP sürümüdür. Paket kaybı durumunda daha hızlı toparlanma, bağlantı göçü (Wi‑Fi’dan hücresel ağa geçerken bağlantının kopmaması), başlık sıkıştırması (QPACK) ve 0‑RTT gibi özelliklerle özellikle mobil ve yüksek gecikme senaryolarında daha düşük TTFB ve daha tutarlı yükleme süreleri sağlar.
HTTP/3 devreye alındığında siteniz HTTP/2 ve HTTP/1.1’e geriye dönük uyumluluğu korur. Yani destekleyen tarayıcılar otomatik olarak h3 kullanırken, diğerleri mevcut protokollere düşer. Bu da canlıya geçişte riskleri minimize eder.
Önkoşullar ve Uyum
- Sunucu veya CDN tarafında TLS 1.3 etkin olmalı. HTTP/3, TLS 1.3 gerektirir.
- Güvenlik duvarınızda UDP 443 açık olmalı. QUIC, TCP yerine UDP üzerinde çalışır.
- Tarayıcılarınız güncel olmalı. Chrome, Edge, Safari ve Firefox’un güncel sürümleri HTTP/3’ü destekler.
Cloudflare Üzerinden HTTP/3’i Açma
1) Cloudflare Paneline girin ve ilgili alan adını seçin. SSL/TLS bölümünde modunuzu “Full (strict)” olacak şekilde ayarlayın. Bu, güvenli uçtan uca bağlantıyı sağlar.
2) “Network” sekmesine gidin ve “HTTP/3 (with QUIC)” seçeneğini aktif edin. Cloudflare kenarlarında Alt-Svc başlığı otomatik olarak eklenecek, tarayıcılar h3’e geçecektir.
3) Güvenlik duvarı kurallarınızın UDP 443 trafiğini engellemediğini doğrulayın. Bazı kurum ağlarında UDP kısıtlı olabilir; gerçek kullanıcıların deneyimi bu durumdan etkilenebilir.
4) Test: Chrome DevTools’u açın (F12), Network sekmesinde “Protocol” sütununu görünür yapın. Sayfanızı yenileyin; isteklerin “h3” olarak geldiğini görmelisiniz. Alternatif olarak curl ile “curl -I --http3 https://alanadiniz.com” komutunu deneyebilirsiniz.
Nginx ile (Origin) HTTP/3 Yayını
Cloudflare kullanmıyorsanız veya origin’den doğrudan HTTP/3 sunmak istiyorsanız Nginx’in HTTP/3 desteğini etkinleştirmeniz gerekir. Nginx 1.25+ ile QUIC/HTTP/3 desteği mevcuttur ancak uygun şekilde derlenmiş paket (BoringSSL/QuicTLS ile) kullanmanız veya dağıtımınızın hazır paketlerini tercih etmeniz gerekir. Alternatif olarak Caddy gibi H3’ü daha kolay etkinleştiren sunucular da tercih edilebilir.
Nginx tarafında örnek bir yaklaşım: 443’te UDP ve TCP dinleyin, TLS 1.3’ü zorunlu kılın ve tarayıcıları HTTP/3’e yönlendirmek için Alt-Svc başlığı ekleyin. Yapılandırma mantığı şu şekildedir: 1) “listen 443 quic reuseport;” satırıyla QUIC’i açın. 2) “listen 443 ssl http2;” satırıyla H2 geri dönüşünü sağlayın. 3) “ssl_protocols TLSv1.3;” ile TLS 1.3’ü zorunlu tutun. 4) “add_header Alt-Svc 'h3=":443"; ma=86400';” başlığıyla tarayıcıya H3 desteğini duyurun. 5) Geçerli bir “ssl_certificate” ve “ssl_certificate_key” tanımlayın.
Değişikliklerden sonra Nginx’i yeniden yükleyin ve curl ile “--http3” bayrağını kullanarak test edin. Ayrıca tarayıcı geliştirici araçlarında protokol sütununu kontrol ederek canlı doğrulama yapabilirsiniz.
Performans Ölçümü ve Doğrulama
- Laboratuvar testleri: WebPageTest üzerinde “Advanced Settings” kısmından “HTTP/3 allowed” seçeneği ile koşun, TTFB ve “First Byte Out” metriklerini karşılaştırın. Lighthouse ve Chrome User Timing ile de sayfa içi işaretleri gözlemleyin.
- Gerçek kullanıcı verisi (RUM): Eğer mümkünse tarayıcı API’lerinden (PerformanceNavigationTiming) TTFB ve “connection type” bilgilerini toplayın. Mobil ağlarda H3 farkı daha belirgin çıkar.
- Doğrulama araçları: https://http3check.net ve https://quic.rocks gibi siteler hızlı doğrulama sunar. Cloudflare kullanıyorsanız Analytics > Performance bölümünde HTTP/3 istek yüzdesini görebilirsiniz.
Yaygın Sorunlar ve Çözümler
- UDP 443 kapalı: Birçok kurum veya ISS, UDP’yi kısıtlayabilir. Sunucu ve ağ sınırlarınızda bu portun açık olduğundan emin olun.
- Eski TLS yapılandırması: HTTP/3 sadece TLS 1.3 ile çalışır. Orijin veya CDN tarafında TLS 1.2’ye zorlayan kurallar mevcutsa kaldırın.
- Alt-Svc gecikmesi: Tarayıcılar Alt-Svc keşfini önbelleğe alır. İlk ziyarette HTTP/2, sonraki ziyaretlerde HTTP/3 görebilirsiniz. Testleri birden çok yenilemeyle yapın.
- Orijin ve CDN çakışması: Hem CDN hem orijin H3 sunuyorsa, tünelleme ve başlıklar beklenmedik etkileşime girebilir. Genellikle CDN üzerinden H3 sunmak en basit ve tutarlı yaklaşımdır.
Sonuç
HTTP/3 ve QUIC, özellikle mobil ve yüksek gecikmeli ortamlarda sitenizin algılanan hızını artırır, paket kaybından daha az etkilenir ve bağlantı değişimlerinde kullanıcı deneyimini korur. Cloudflare gibi bir CDN ile etkinleştirmek yalnızca birkaç tıklama sürer; orijin üzerinde Nginx ile kurulum ise biraz daha teknik olsa da kalıcı bir kazanım sağlar. Kurulumu tamamladıktan sonra doğru ölçümlerle etkiyi doğrulayın; TTFB, ilk boyama ve etkileşime geçiş metriklerinde genellikle kayda değer iyileşmeler göreceksiniz.