Sobes.tech
Middle

HTTP/1 və HTTP/2 protokolları arasındakı fərqlər nədir?

sobes.tech Süni İntellekt

AI-dan cavab

HTTP/1.1 və HTTP/2 arasındakı əsas fərqlər:

  • Çoxlama (Multiplexing):

    • HTTP/1.1: Bir əlaqədə ardıcıl sorğuların işlənməsi. Paralel yükləmələr üçün bir neçə TCP əlaqəsi lazım idi.
    • HTTP/2: Bir TCP əlaqəsində çoxlama. Eyni zamanda bir neçə sorğu göndərməyə və cavablar almağa imkan verir, bir-birini bloklamadan.
  • Başlıq sıxışdırma (HPACK):

    • HTTP/1.1: Başlıqlar sıxışdırılmadan ötürülür, bu çox sayda sorğu ilə artıq ola bilər.
    • HTTP/2: HPACK algoritmi ilə başlıqlar sıxışdırılır. Göndərilən məlumatların ölçüsünü azaldır.
  • Axınların prioritetləşdirilməsi:

    • HTTP/1.1: Prioritet yox idi.
    • HTTP/2: Müştəri müxtəlif axınlara prioritetlər təyin edə bilər, bu da server tərəfindən işlənmə ardıcıllığını təsir edir.
  • Server tərəfindən göndərmə (Server Push):

    • HTTP/1.1: Müştəri hər bir resursu (CSS, JS, şəkillər) açıq şəkildə tələb etməlidir.
    • HTTP/2: Server, səhifənin göstərilməsi üçün lazım olan resursları, müştəri tələb etmədən əvvəl göndərə bilər.
  • İkili protokol:

    • HTTP/1.1: Mətn əsaslı protokol, nisbətən asan oxunur.
    • HTTP/2: İkili protokol, analiz və ötürmə üçün daha səmərəlidir.

Müqayisəli cədvəl:

Xüsusiyyət HTTP/1.1 HTTP/2
Çoxlama Yox (bir neçə TCP) Bəli (bir TCP)
Başlıq sıxışdırma Yox Bəli (HPACK)
Axın prioriteti Yox Bəli
Server tərəfindən göndərmə Yox Bəli
Protokol formatı Mətn İkili
Head-of-Line bloklaması problemi Mövcuddur (bir TCP üçün) Multiplexing sayəsində azaldılmış

Çoxlama nümunəsi (konceptual):

// HTTP/1.1: Ardıcıllıqla sorğular
fetch('/resource1')
  .then(() => fetch('/resource2'))
  .then(() => fetch('/resource3'));

// HTTP/2: Eyni əlaqədə paralel sorğular
// Brauzerdə bu avtomatik baş verir
// Konseptsual olaraq, sorğular demək olar ki, eyni vaxtda göndərilə bilər