Термин
HTTP/2
Ревизия HTTP 2015 года (RFC 9113, консолидация – июнь 2022) с бинарным framing, сжатием заголовков и мультиплексированием стримов поверх одного TCP-соединения. Транспорт, сделавший low-latency HLS практичным.
HTTP/2 заменил модель «один запрос – одно соединение» из HTTP/1.1 на бинарный мультиплексированный framing поверх одного TLS-соединения. Плеер может выпустить десятки запросов сегментов в одном TCP-сокете, сервер чередует ответы, а HPACK сжимает повторяющиеся заголовки до нескольких байт. Снижение оверхеда и head-of-line – причина, по которой Apple сначала специфицировал HTTP/2 push (потом отменил), а затем HTTP/2 с chunked transfer для LL-HLS.
Для ABR-стриминга важны такие свойства HTTP/2: мультиплексированные стримы (сегмент N+1 начинает грузиться до конца сегмента N без лишнего TCP-handshake), server push (использовался в LL-HLS, потом заменён на preload hints), chunked transfer для незавершённых сегментов (ключ к LL-HLS) и приоритеты стримов (новые браузеры учитывают, старые плееры игнорируют). HTTP/2 также убрал поддержку plaintext, и каждый стриминговый запрос идёт по TLS – удобно для DRM/signed-URL, чуть мешает при отладке кеша.
Слабое место HTTP/2 общее с TCP – head-of-line blocking. Потеря пакета в нижнем TCP-соединении заставляет каждый мультиплексированный стрим ждать ретрансмита. На нестабильной сотовой связи это худшая патология HTTP/2 – именно её исправляет HTTP/3.
Считаете параметры для своего продукта?
Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.