Чем HTTP/1.1 отличается от HTTP/2 и HTTP/3?
HTTP и HTTPS
HTTP/1.1 — текстовый протокол с последовательными запросами на соединение, HTTP/2 мультиплексирует потоки в одном TCP-соединении, а HTTP/3 переносит это на QUIC поверх UDP, убирая блокировку очереди на транспортном уровне.
HTTP/1.1
- Keep-alive переиспользует соединение, но ответы идут строго по очереди.
- Head-of-line blocking: медленный ответ задерживает все следующие; браузеры открывали по 6 соединений на хост.
HTTP/2
- Бинарный формат и фреймы: много запросов параллельно в одном соединении.
- Сжатие заголовков HPACK, приоритизация потоков; server push позже признали неудачным.
- Осталась HOL-блокировка на уровне TCP: потерянный сегмент стопорит все потоки соединения.
HTTP/3
- QUIC поверх UDP: потоки независимы, потеря пакета бьёт только по своему потоку.
- Handshake совмещён с TLS 1.3 — один RTT; соединение переживает смену сети благодаря connection ID.
Коротко для собеседования
Каждая версия HTTP боролась с блокировкой очереди: HTTP/2 убрал её на уровне протокола, но упёрся в TCP, поэтому HTTP/3 перешёл на QUIC. Практический выигрыш — меньше соединений и RTT, особенно в мобильных сетях с потерями.