HTTP/2 Protokolü Nedir? Siteniz HTTP2’ye Uyumlu mu Test Edin

HTTP/2 Protokolü Nedir? Siteniz HTTP2’ye Uyumlu mu Test Edin

Hypertext Transfer Protocol (HTTP), internet kullanıcılarının web sitesi bilgilerini değiş tokuş etmesine olanak tanıyan bir dizi standarttır. 1991’de tanıtıldığından bu yana dört HTTP sürümü geliştirilmiştir.

HTTP/2, 2015 yılında HTTP/1.1 protokolüne büyük bir revizyon olarak piyasaya sürülmüştür ve hızla ilgili önemli iyileştirmeler meydana gelmiştir. Bu protokol özellikle kaynak açısından yoğun web sayfalarında sayfa yükleme hızını artırmak ve yuvarlanma süresini (RTT) azaltmak için SPDY protokolünden türetilmiştir.

Bu yazımızda yeni protokolün neden gerekli olduğu, SPDY’den HTTP/2’ye evrimi, HTTP/1.1 ile farkları ve bir CDN’nin (İçerik Dağıtım Ağı) içeriğinizi HTTP/2 ile uyumlu hale getirmede nasıl yardımcı olabileceği ele alınacaktır. Aynı zamanda sitenizin HTTP/2 ile uyumlu olup olmadığını test etme imkanınızda olacaktır.

HTTP/2 Test

HTTP2 Test Aracı

HTTP/2 üzerinde çalışan sitelerin SEO konusunda hız ve güvenlik parametrelerinden dolayı daha yetenekli olduğunu belirtmeliyiz.

SPDY’den HTTP/2’ye Geçiş

HTTP/1.1, 15 yılı aşkın bir süredir standart protokol olan üçüncü HTTP sürümüydü. Kalıcı bağlantılar ile performansı artırmayı başarmış ve GET, HEAD, PUT ve POST gibi standart istekler için temel oluşturmuştu.

Ancak web siteleri büyüyüp ve daha yoğun kaynak kullanmaya başladıkça HTTP/1.1’in sınırlamaları belirginleşti. Özellikle, her bir TCP bağlantısı için yalnızca bir açık istek kullanması 1.1’de sayfa yükleme sürelerini yavaşlatan ciddi bir ek yük oluşturuyordu.

2010 yılında Google, HTTP’nin istek ve yanıtları nasıl işlediğini değiştirmek amacıyla SPDY protokolünü tanıttı. SPDY’nin odak noktası TCP pipelining aracılığıyla gecikmeyi azaltmak ve zorunlu sıkıştırma gibi özellikler sunmaktı.

HTTP/2 başlangıçta SPDY’ye dayanılarak geliştirilse de, sabit başlık sıkıştırma algoritması gibi benzersiz özellikleri eklemek için hızla değiştirildi. Bunun ardından Google, SPDY desteğini kaldırarak HTTP/2’yi destekleyeceğini açıkladı.

HTTP/1.1 ve HTTP/2 Protokollerinin Farkları

ÖzellikHTTP/1.1HTTP/2
MultiplexingYok – Her istek için ayrı TCP bağlantısı gerekirVar – Tek TCP bağlantısı üzerinden eşzamanlı çoklu istek/yanıt
Header SıkıştırmaYok – Headers düz metin olarak gönderilirHPACK sıkıştırma ile header boyutu %80’e kadar azaltılır
Veri İletimiSıralı ve bloke ediciParalel ve non-blocking
Server PushYokVar – Server istemci talep etmeden kaynakları gönderebilir
HOL BlockingVar – Önceki istek tamamlanana kadar yeni istek beklerYok – Stream’ler bağımsız çalışır
Binary ProtocolASCII formatıİkili format – daha verimli parsing
Stream ÖnceliğiYokVar – Kaynakların önceliğini belirleyebilme
GüvenlikTLS opsiyonelTLS önerilen standart
Bağlantı YönetimiConnection: keep-alive ile yönetilirVarsayılan olarak kalıcı bağlantı
PerformansTemel düzeyde50-70% daha hızlı sayfa yükleme

HTTP/2 Uygulaması ve CDN’nin Rolü

Google’ın SPDY protokolüne desteğini sona erdirme kararıyla beraber web siteleri RTT’yi azaltmak ve sayfa yükleme sürelerini hızlandırmak için HTTP/2’ye geçişini zorunlu hale getirmiştir.

Ancak HTTP/2’ye geçiş, bazı karmaşık adımları içerebilir:

  1. HTTPS Uyumluluğu: TLS’ye yapılan yeni uzantı, bir sitenin önce HTTPS ile uyumlu hale getirilmesini gerektirir.
  2. Sunucu Yükseltmeleri: Tüm sunucuların HTTP/1.1’den HTTP/2’ye yükseltilmesi gerekir. Bu işlem karmaşık ve hata yapmaya açık olabilir.
  3. Hata Düzeltmeleri: HTTP/1.1 hataları, HTTP/2’ye geçişte sorunlara neden olabilir. Bu, geliştiricilerden yeni çözümler üretmelerini gerektirir.

Bu noktada CDN’ler, kullanıcılar ve sunucular arasında bir aracı görevi üstlenerek süreci kolaylaştırır. Örneğin, Imperva CDN, sunucularınızı herhangi bir manuel yükseltmeye gerek kalmadan otomatik olarak HTTP/2 ile uyumlu hale getirir.

Sadece Türkçe bir siteniz ve Türkiye geneli ziyaretçiniz varsa CDN hızlandırmaktan ziyade yavaşlatabilir. CDN hız etkisini CDN öncesi ve sonrası olarak yapın.

blank

Örnek Senaryo

Örnek Konusu : 10 MB toplam ağırlığı olan 100 dosyanın sunucudan istemciye yüklenme süresinin tartışmasıdır. Bu örnek olay verisinde Chatgpt’den yardım aldık.

HTTP/1.1 ile Yükleme

  1. Her dosya için ayrı istek: HTTP/1.1’de her dosya bir TCP bağlantısı üzerinden indirilir. Tarayıcılar genellikle aynı anda 6 paralel bağlantı açar.
    • 100 dosyanın indirilmesi için sürekli bağlantı açma/kapama süreçleri yaşanır.
    • Bağlantı başlatma (TCP el sıkışması) ve gecikme süreleri (RTT) dosya sayısı arttıkça yükleme süresini artırır.
  2. Yavaş başlama etkisi: Her TCP bağlantısı, başlangıçta sınırlı bant genişliği kullanır ve zamanla hızlanır. Bu da yükleme sürelerini uzatır.
  3. Başlık ek yükü: Her dosya için ayrı HTTP başlıkları iletilir, bu da toplam veri boyutunu artırır.
Süre Tahmini
  • Gecikme (RTT): ~50 ms (örnek olarak alınmıştır).
  • Toplam başlatma süresi: 100 dosya ÷ 6 paralel bağlantı ≈ 17 tur.
  • Sadece bağlantı başlatma süreleri: 17 x 50 ms = 850 ms.
  • Gerçek veri aktarımı + ek yük: 10 MB veri + başlıklar ≈ 1.2-1.5 saniye.
  • Toplam süre: ~2-2.5 saniye.

HTTP/2 ile Yükleme

Tek bağlantı: HTTP/2, tüm dosyaları tek bir TCP bağlantısı üzerinden aktarır. Bu, TCP bağlantı başlatma ek yükünü ortadan kaldırır.

  1. Multiplexing (Çoklu Akış): Aynı bağlantı üzerinde dosyalar paralel olarak iletilir. Bu, dosyaların aynı anda indirilmesine olanak tanır.
  2. Başlık sıkıştırması: HTTP/2, HPACK başlık sıkıştırması kullanarak HTTP başlıklarının boyutunu küçültür.
  3. Daha az gecikme: RTT gecikmeleri çoklu akış sayesinde minimize edilir.
Süre Tahmini
  • Bağlantı başlatma süresi: Tek bir bağlantı için RTT = 50 ms.
  • Gerçek veri aktarımı: 10 MB veri ≈ 1 saniye (100 Mbps bağlantıda).
  • Toplam süre: ~1-1.1 saniye.

Sonuç

Buradaki tüm incelememizde hem hız hem güvenlik konusunda HTTP/2 çok fazla avantaja sahip. Arama motoru optimizasyonu konusunda da hız ve güvenlik temelli iyileştirmelerinden dolayı HTTP/2 tercih edilmelidir.

Tahir Dinç
Tahir Dinç

1999 yılında ilk çalışmalarıma başladım, 2004 yılında ODP editörü oldum. Günümüzde bir çok büyük firmaya SEO ve Google Ads hizmetleri sağlıyorum. SEO çalışması benim için işten daha fazlası diyebilirim. Türk SEM Blog sayfasında dijital pazarlama ile ilgili önemli ve faydalı bilgileri sizlerle paylaşıyoruz.

Leave a Reply

Your email address will not be published.Required fields are marked *