Intern
Parle-moi de HTTP : quelles versions existent et quelles sont leurs différences ? Qu'est-ce que le blocage Head-of-Line ?
sobes.tech IA
Réponse de l'IA
HTTP (HyperText Transfer Protocol) — протокол передачи данных в интернете, который эволюционировал через несколько версий:
- HTTP/1.0 — первая широко используемая версия, поддерживает одно соединение на запрос, без постоянных соединений.
- HTTP/1.1 — добавлена поддержка постоянных соединений (keep-alive), чанковая передача, улучшена работа с кэшированием и заголовками.
- HTTP/2 — значительно улучшена производительность за счёт мультиплексирования запросов по одному TCP-соединению, сжатия заголовков (HPACK), приоритизации потоков.
- HTTP/3 — использует протокол QUIC поверх UDP, что снижает задержки при установлении соединения и улучшает устойчивость к потере пакетов.
Head-of-Line blocking (HOL blocking) — это ситуация, когда первый запрос или пакет в очереди блокирует обработку последующих, даже если они готовы к обработке. В HTTP/1.1 при использовании одного TCP-соединения запросы обрабатываются последовательно, и если первый запрос задерживается, все последующие ждут. HTTP/2 решает эту проблему мультиплексированием, но HOL blocking может возникать на уровне TCP, а HTTP/3 с QUIC устраняет её, так как QUIC работает поверх UDP и позволяет независимую доставку потоков.