Sobes.tech
Middle

HTTP/1 ve HTTP/2 protokolleri arasındaki farklar nelerdir?

sobes.tech yapay zeka

AI'dan gelen yanıt

HTTP/1.1 ve HTTP/2 arasındaki temel farklar:

  • Çoklama (Multiplexing):

    • HTTP/1.1: Tek bir bağlantı üzerinden ardışık isteklerin işlenmesi. Paralel yüklemeler için birkaç TCP bağlantısı gerekiyordu.
    • HTTP/2: Tek bir TCP bağlantısı üzerinde çoklama. Aynı anda birden fazla istek göndermeye ve yanıt almaya izin verir, birbirlerini engellemeden.
  • Başlık sıkıştırma (HPACK):

    • HTTP/1.1: Başlıklar sıkıştırılmadan iletilir, bu büyük sayıda istekle gereksiz olabilir.
    • HTTP/2: HPACK algoritması kullanılarak başlıklar sıkıştırılır. Gönderilen veri boyutunu azaltır.
  • Akış önceliği:

    • HTTP/1.1: Önceliklendirme yoktu.
    • HTTP/2: İstemci, farklı akışlara öncelikler atayabilir, bu da sunucu tarafından işleme sırasını etkiler.
  • Sunucu itmesi (Server Push):

    • HTTP/1.1: İstemci, her kaynağı (CSS, JS, resimler) açıkça talep etmelidir.
    • HTTP/2: Sunucu, sayfa görüntülemesi için gerekli olabilecek kaynakları, istemci talep etmeden önce gönderebilir.
  • İkili protokol:

    • HTTP/1.1: Metin tabanlı, okunması görece kolay.
    • HTTP/2: İkili protokol, ayrıştırma ve iletim açısından daha verimlidir.

Karşılaştırmalı tablo:

Özellik HTTP/1.1 HTTP/2
Çoklama Yok (birden fazla TCP) Evet (bir TCP)
Başlık sıkıştırma Yok Evet (HPACK)
Akış önceliği Yok Evet
Sunucu itmesi Yok Evet
Protokol formatı Metin İkili
Head-of-Line blokaj problemi Mevcut (bir TCP için) Çoklama sayesinde azaltılmış

Çoklama örneği (kavramsal):

// HTTP/1.1: Ardışık istekler
fetch('/resource1')
  .then(() => fetch('/resource2'))
  .then(() => fetch('/resource3'));

// HTTP/2: Aynı bağlantı üzerinden paralel istekler
// Tarayıcıda bu otomatik olarak gerçekleşir
// Kavramsal olarak, istekler neredeyse aynı anda gönderilebilir