Sobes.tech
Middle

Фарқи байни HTTP/1 ва HTTP/2 чист?

sobes.tech AI

Ҷавоб аз AI

Асосӣ фарқиятҳо:

  • Мултиплексинг (Multiplexing). HTTP/2 имкон медиҳад, ки чандин дархост ва ҷавоб дар як вақт тавассути як пайванди TCP ирсол ва қабул карда шаванд. HTTP/1.1 барои ҳар дархост/ҷавоб пайванди алоҳида талаб мекард (ғайр аз механизмҳои pipelining, ки маҳдудият доштанд).
  • Тавсифи сарлавҳаҳо (Header Compression). HTTP/2 аз алгоритми HPACK барои фишурдани сарлавҳаҳо истифода мебарад, то андоза ва миқдори маълумотро, ки интиқол дода мешавад, кам кунад. Дар HTTP/1.1 сарлавҳаҳо дар шакли матнӣ ирсол мешаванд.
  • Приоритети равандҳо (Stream Prioritization). Дар HTTP/2 муштарӣ метавонад приоритет барои равандҳои гуногун (дархостҳо/ҷавобҳо) таъин кунад, ки ба сервер имкон медиҳад, ки тартиби интиқоли маълумотро оптимизатсия кунад. HTTP/1.1 чунин механизм надорад.
  • Пуши сервер (Server Push). HTTP/2 имкон медиҳад, ки сервер ба муштарӣ захираҳоро пеш аз он ки муштарӣ онҳоро талаб кунад, ирсол кунад, бо асоси пешгӯии зарурати онҳо барои намоиши саҳифа. Дар HTTP/1.1 муштарӣ бояд ҳар захираро равшан талаб кунад.
  • Формати рамкаҳо (Binary Framing). HTTP/2 маълумотро дар шакли бинарӣ (рамкаҳо) интиқол медиҳад, ки парсингро осон ва самаранокиро дар муқоиса бо шакли матнӣ дар HTTP/1.1 баланд мебардорад.

Таблиғот дар ҷадвал:

Нишондиҳанда HTTP/1.1 HTTP/2
Пайвастшавӣ Як пайвастшавӣ барои ҳар дархост (бе pipelining) Як пайвастшавӣ барои чанд равандҳо
Мултиплексинг Надорад (ё маҳдуд аст pipelining) Бале
Фишурдани сарлавҳаҳо Надорад HPACK (бинарӣ фишуриш)
Приоритети равандҳо Надорад Бале
Пуши сервер Надорад Бале
Формати маълумот Матн Бинарӣ (рамкаҳо)
Head-of-Line блокировка мавҷуд аст То андозае бо мултиплексинг ҳал мешавад

Маслиҳат дар HTTP/1.1:

// GET /index.html HTTP/1.1
// Host: example.com
// User-Agent: curl/7.68.0
// Accept: */*

Маслиҳат дар HTTP/2 (таҳлили рамкаҳо мураккабтар аст ва ба ҳамин тариқ намоиш дода намешавад):

// Дар HTTP/2 муошират дар сатҳи рамкаҳо (HEADERS, DATA ва ғайра) сурат мегирад,
// ки онҳо бинарӣ мебошанд ва аз корбар дар сатҳи барнома пинҳонанд.
// Намоиши онҳо дар шакли матнӣ осон нест.
// Сарлавҳаҳо фишурда мешаванд ва дар рамкаи HEADERS интиқол дода мешаванд.
// Танаи ҷавоб дар рамкаи DATA интиқол дода мешавад.