Sobes.tech
Middle

HTTP/1 жана HTTP/2 протоколдору кандай айырмаланат?

sobes.tech AI

AIден жооп

HTTP/1.1 жана HTTP/2 ортосунда негизги айырмачылыктар:

  • Мултиплексинг:

    • HTTP/1.1: Суроолорду бир байланышка кезек-кезеги менен иштетүү. Жоопторду бир нече TCP байланышы аркылуу жиберүү керек болчу.
    • HTTP/2: Бир TCP байланышы аркылуу мултиплексинг. Бир нече суроолорду бир убакта жиберүүгө жана жооп алууга мүмкүндүк берет, бири-бирин тоскоолдук кылбай.
  • Баш тилдердин кысуусу (HPACK):

    • HTTP/1.1: Баш тилдер кысылбастан өткөрүлөт, бул көп суроолордо ашыкча болушу мүмкүн.
    • HTTP/2: HPACK алгоритми менен баш тилдер кысылат. Жөнөтүлүүчү маалыматтын өлчөмүн азайтат.
  • Токтордун приоритети:

    • HTTP/1.1: Приоритет берүү мүмкүнчүлүгү жок болчу.
    • HTTP/2: Клиент ар бир поток үчүн приоритеттерди белгилей алат, бул сервердин иштетүү тартибин өзгөртөт.
  • Серверден жүктөө (Server Push):

    • HTTP/1.1: Клиент ар бир ресурсты так сурашы керек (CSS, JS, сүрөттөр).
    • HTTP/2: Сервер алдын ала ресурстарды жүктөп, алардын керектүү болушун алдын ала биле алат, суралбай туруп.
  • Двоичный протокол:

    • HTTP/1.1: Тексттик протокол, салыштырмалуу оңой окулат.
    • HTTP/2: Двоичный протокол, парсинг жана өткөрүү үчүн натыйжалуураак.

Салыштыруу таблицасы:

Өзгөчөлүк HTTP/1.1 HTTP/2
Мултиплексинг Жок (бир нече TCP керек) Ооба (бир TCP)
Баш тилдердин кысуусу Жок Ооба (HPACK)
Токтордун приоритети Жок Ооба
Серверден жүктөө Жок Ооба
Протоколдун форматы Тексттик Двоичный
Head-of-Line блокировкасы Бар (бир TCP үчүн) Азайтылган мултиплексинг менен

Мултиплексингдин мисалы (концептуалдуу):

// HTTP/1.1: Кийинки суроолор
fetch('/resource1')
  .then(() => fetch('/resource2'))
  .then(() => fetch('/resource3'));

// HTTP/2: Бир байланышка бир нече суроо
// Браузерде автоматтык түрдө HTTP/2 үчүн ишке ашырылат
// Концептуалдуу түрдө суроолор дээрлик бир убакта жөнөтүлүшү мүмкүн