Ответ вслух Middle HTTP/2 и HTTP/3 спрашивают часто обновлено

Чем отличаются HTTP/1.1, HTTP/2 и HTTP/3

Вопрос

Чем отличаются HTTP/1.1, HTTP/2 и HTTP/3? Какие проблемы решала каждая версия?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Смысл HTTP во всех версиях одинаковый, отличается доставка. В HTTP/1.1 в одном соединении запросы выполняются по очереди, поэтому браузер открывает несколько соединений на хост, а разработчики склеивали файлы и шардили домены.

Что должно прозвучать в ответе

  • Семантика (методы, статусы, заголовки) одна, меняется транспорт

  • HTTP/1.1: запросы по очереди в соединении, браузер держит около 6 соединений

  • HTTP/2: бинарные фреймы, мультиплексирование, HPACK, одно соединение

  • HTTP/2 упирается в head-of-line blocking TCP при потерях

  • HTTP/3: QUIC поверх UDP, независимые потоки, TLS встроен, быстрее рукопожатие, миграция соединения

Что могут спросить следом

  • Почему HTTP/3 не сделали поверх TCP?
  • Что будет, если UDP заблокирован?
  • Что изменилось в подходе к бандлингу с HTTP/2?

Разбор

Смысл HTTP во всех версиях одинаковый, отличается доставка. В HTTP/1.1 в одном соединении запросы выполняются по очереди, поэтому браузер открывает несколько соединений на хост, а разработчики склеивали файлы и шардили домены. HTTP/2 перешёл на бинарные фреймы и мультиплексирование: много потоков в одном TCP-соединении, плюс сжатие заголовков HPACK. Но при потере пакета TCP держит все потоки, пока не дождётся повтора, и на мобильных сетях это заметно. HTTP/3 работает на QUIC поверх UDP: потоки независимы, потеря тормозит только свой поток, TLS 1.3 встроен, так что новое соединение поднимается за один круг вместо двух, а при смене сети соединение переживает смену IP благодаря Connection ID. Если UDP режут, браузер откатывается на HTTP/2.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.