HTTP/2 мультиплексирует несколько потоков запросов и ответов в одном соединении, перемежая их фреймы. Это снимает необходимость ждать полного ответа одного HTTP-запроса перед передачей другого на том же соединении.
Что такое HTTP/2 Multiplexing и как оно решает проблему блокировки начала очереди (Head-of-Line Blocking)?
HTTP/2 мультиплексирует несколько потоков запросов и ответов в одном соединении, перемежая их фреймы. Это снимает необходимость ждать полного ответа одного HTTP-запроса перед передачей другого на том же соединении.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
HTTP/2 мультиплексирует несколько потоков запросов и ответов в одном соединении, перемежая их фреймы. Это снимает необходимость ждать полного ответа одного HTTP-запроса перед передачей другого на том же соединении.
У потоков независимые идентификаторы и управление состоянием, поэтому большой ответ не обязан занимать всю последовательность передачи на уровне HTTP. Но HTTP/2 работает поверх TCP: потеря сегмента задерживает получение последующих байтов сразу для всех потоков соединения. Поэтому транспортный head-of-line blocking не исчезает. Дополнительные задержки возможны из-за flow control и приложения. HTTP/3 использует другую транспортную модель и не следует смешивать его гарантии с HTTP/2.