HTTP/2 ve HTTP/3: Protokol Sürümü Geçişi ve Gerçek Kazanımlar

Sürümler arasındaki taşıma farkı, QUIC'in çözdüğü sorun, sunucuda etkinleştirme adımları, doğrulama ve geçersizleşen eski optimizasyonlar. HTTP/2 ve HTTP/3…

HTTP/2 ve HTTP/3: Protokol Sürümü Geçişi ve Gerçek Kazanımlar
İçindekiler
  1. Sürümler Arasındaki Temel Fark
  2. HTTP/2'nin Kalan Sorunu
  3. Gerçek Kazanç Ne Kadar?
  4. Sunucu Tarafında Etkinleştirme
  5. Çalıştığını Doğrulamak
  6. Artık Gereksiz Olan Eski Yöntemler
  7. Karşılaşılabilecek Sorunlar
  8. Öncelik Sırası
  9. Sonuç
  10. Sıkça Sorulan Sorular (SSS)
  11. HTTP/2 mi HTTP/3 mü etkinleştirmeliyim?
  12. HTTPS olmadan kullanabilir miyim?
  13. HTTP/3 açtım ama kullanılmıyor, neden?
  14. Dosyaları birleştirmeye devam etmeli miyim?

HTTP/2 ve HTTP/3: Protokol Sürümü Geçişi ve Gerçek Kazanımlar

Sunucunuzda tek bir yapılandırma satırıyla açabileceğiniz bir hız kazancı var — ama bu kazanç herkes için aynı büyüklükte değil.

Bu yazı, HTTP protokol sürümlerinin neyi değiştirdiğini ve VDS sunucu üzerinde nasıl etkinleştirileceğini ele alıyor.

Sürümler Arasındaki Temel Fark

Üç sürüm arasındaki ayrım, verinin nasıl taşındığıyla ilgilidir:

Sürüm Taşıma yapısı
HTTP/1.1 Bağlantı başına sırayla istek
HTTP/2 Tek bağlantıda çoklu akış
HTTP/3 TCP yerine UDP tabanlı taşıma

HTTP/1.1'in temel sınırı, bir bağlantı üzerinde aynı anda tek istek işlenmesidir. Tarayıcılar bunu aşmak için aynı sunucuya birden fazla bağlantı açar — bu da sunucu tarafında gereksiz kaynak tüketimi demektir.

HTTP/2 bu sorunu multiplexing ile çözer: tek bir bağlantı üzerinde onlarca istek eşzamanlı taşınır.

HTTP/2'nin Kalan Sorunu

HTTP/2 istek seviyesindeki tıkanmayı çözdü ama bir katman aşağıda sorun devam etti:

  • TCP tek bir sıra olarak çalışır. Bir paket kaybolursa tümü bekler.
  • Kayıp paket tüm akışları durdurur. Bağımsız istekler bile etkilenir.
  • Mobil ağlarda etki büyür. Paket kaybı daha sıktır.

Buna head-of-line blocking denir ve HTTP/2'de uygulama katmanından taşıma katmanına inmiştir — çözülmemiş, yer değiştirmiştir.

HTTP/3'ün getirdiği asıl yenilik budur: TCP yerine UDP üzerine kurulu QUIC kullanarak, her akışı bağımsız hâle getirir. Bir paketin kaybolması yalnızca kendi akışını etkiler.

Gerçek Kazanç Ne Kadar?

Beklentiyi doğru kurmak gerekir. Kazanç şu durumlarda belirgindir:

  1. Sayfa çok sayıda küçük dosya içeriyorsa — HTTP/2 belirgin fark yaratır
  2. Ziyaretçiler mobil ağdaysa — HTTP/3 kayıplı bağlantılarda öne çıkar
  3. Coğrafi mesafe fazlaysa — gecikme yüksekken kazanç artar
  4. Bağlantı sık kopuyorsa — QUIC bağlantıyı IP değişse de sürdürür

Buna karşılık kazanç şu durumlarda küçüktür: tek büyük dosya indiriliyorsa, ziyaretçi hızlı ve kararlı bir bağlantıdaysa, ya da darboğaz sunucunun kendisiyse.

Dördüncü madde mobil kullanıcılar için somut bir fayda sağlar: kullanıcı kablosuz ağdan mobil veriye geçtiğinde QUIC bağlantısı kopmaz, çünkü bağlantı IP adresine değil bir oturum kimliğine bağlıdır.

Sunucu Tarafında Etkinleştirme

Kendi sunucunuzu yönettiğiniz bir VDS sunucu üzerinde bu geçişi kendiniz yapabilirsiniz. İzlenecek adımlar:

  • HTTPS zorunludur. Her iki sürüm de sertifika ister.
  • Web sunucusu sürümünü kontrol edin. Eski sürümler desteklemez.
  • Dinleme yapılandırmasını güncelleyin. Protokol açıkça belirtilmelidir.
  • HTTP/3 için UDP portunu açın. Güvenlik duvarında izin gerekir.
  • Duyuru başlığı ekleyin. Tarayıcı HTTP/3'ü böyle öğrenir.

Dördüncü madde en sık atlanan adımdır: HTTP/3 UDP üzerinden çalışır ve çoğu güvenlik duvarı yapılandırması yalnızca TCP portlarını açıktır. Bu port kapalıysa yapılandırma doğru görünür ama protokol hiç kullanılmaz.

Beşinci madde ise geçişin nasıl gerçekleştiğini açıklar: tarayıcı önce normal bir bağlantı kurar, sunucu yanıtında HTTP/3'ün mevcut olduğunu duyurur, sonraki istekler yeni protokolle gider.

Çalıştığını Doğrulamak

Etkinleştirdikten sonra gerçekten kullanıldığını kontrol edin:

  1. Tarayıcı geliştirici araçlarında ağ sekmesini açın
  2. Protokol sütununu görünür yapın
  3. Sayfayı yenileyin ve değerleri okuyun
  4. İlk isteğin farklı olabileceğini unutmayın
  5. Sunucu günlüklerinde protokol alanını kontrol edin

Dördüncü madde kafa karışıklığını önler: ilk istek genellikle HTTP/2 ile gider, HTTP/3'e geçiş ikinci istekten itibaren görülür. Tek bir istek görüp "çalışmıyor" sonucuna varmayın.

Artık Gereksiz Olan Eski Yöntemler

HTTP/1.1 döneminde standart olan bazı optimizasyonlar artık zarar verir:

Eski yöntem HTTP/2 sonrası durumu
Dosyaları tek dosyada birleştirmek Gereksiz, önbelleklemeyi bozar
Görselleri tek görselde toplamak Avantajı kalmadı
Farklı alan adlarına dağıtmak Ek bağlantı maliyeti getirir
Satır içi gömme Sayfa boyutunu şişirir

Üçüncü satır özellikle ters etki yapar: kaynakları farklı alan adlarına dağıtmak, HTTP/2'nin tek bağlantı avantajını ortadan kaldırır ve her alan adı için yeni el sıkışma maliyeti doğar.

Karşılaşılabilecek Sorunlar

  • Kurumsal ağlar UDP'yi engelleyebilir. HTTP/3 kullanılamaz, HTTP/2'ye düşer.
  • Eski ters vekiller desteklemez. Önündeki katman sınırlayıcıdır.
  • Yük dengeleyici uyumu gerekir.
  • İzleme araçları protokolü tanımayabilir.

İkinci madde önemli bir gerçeği gösterir: protokol sürümünü belirleyen, ziyaretçinin ilk temas ettiği katmandır. Uygulama sunucunuz HTTP/3 desteklese de, önündeki ters vekil desteklemiyorsa sonuç değişmez.

İyi haber şu ki geri düşme sorunsuz çalışır — HTTP/3 kullanılamadığında bağlantı sessizce HTTP/2'ye iner, kullanıcı bir hata görmez.

Öncelik Sırası

Protokol yükseltmesi bir performans çalışmasının neresinde durmalı?

  1. Sunucu yanıt süresini ölçün — asıl darboğaz orada olabilir
  2. Önbellek katmanını kurun
  3. Görsel boyutlarını düşürün
  4. HTTP/2'yi etkinleştirin
  5. Ölçün, kazancı doğrulayın
  6. HTTP/3'ü ekleyin

Birinci madde gerçekçi bir uyarıdır: sunucunuz her isteğe bir saniyede yanıt veriyorsa, protokol değişikliği bunu düzeltmez. Protokol optimizasyonu, temel sorunlar çözüldükten sonra anlam kazanır.

Sonuç

HTTP/2 tek bağlantıda çoklu istek taşıyarak en büyük kazancı sağlar; HTTP/3 ise TCP yerine UDP tabanlı QUIC kullanarak paket kaybının tüm akışları durdurmasını engeller — bu da özellikle mobil ağlarda fark yaratır. Etkinleştirirken en sık atlanan adım, HTTP/3 için güvenlik duvarında UDP portunu açmaktır; kapalıysa yapılandırma doğru görünür ama protokol hiç kullanılmaz. Geçiş sonrası eski optimizasyonları geri alın: kaynakları farklı alan adlarına dağıtmak artık zarar verir. Ve önce sunucu yanıt sürenizi ölçün — protokol, temel sorunları çözmez.

Sıkça Sorulan Sorular (SSS)

HTTP/2 mi HTTP/3 mü etkinleştirmeliyim?

İkisini birlikte. HTTP/2 daha yaygın desteklenir ve temel kazancı sağlar; HTTP/3 ise onun üzerine mobil ve kayıplı ağlarda ek fayda getirir. HTTP/3 kullanılamadığında bağlantı sessizce HTTP/2'ye iner, kullanıcı bir hata görmez.

HTTPS olmadan kullanabilir miyim?

Pratikte hayır. Tarayıcılar her iki sürümü de yalnızca şifreli bağlantı üzerinden kullanır. Sertifikanız yoksa protokol yükseltmesi hiçbir etki yaratmaz.

HTTP/3 açtım ama kullanılmıyor, neden?

En yaygın neden güvenlik duvarında UDP portunun kapalı olmasıdır. İkinci neden, ilk isteğin zaten HTTP/2 ile gitmesidir — geçiş ikinci istekten itibaren görülür. Ayrıca bazı kurumsal ağlar UDP trafiğini tamamen engeller.

Dosyaları birleştirmeye devam etmeli miyim?

Hayır. HTTP/2 sonrası bu yöntem gereksizdir ve zararlıdır: tek büyük dosya, içindeki küçük bir değişiklikte tamamen yeniden indirilir. Ayrı dosyalar daha iyi önbelleklenir.