Что такое HTTP/2 и его основные преимущества?

«Что такое HTTP/2 и его основные преимущества?» — вопрос из категории Сети, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

HTTP/2 — это основная ревизия протокола HTTP, направленная на значительное повышение производительности веб-коммуникаций за счет уменьшения задержки.

Ключевые улучшения по сравнению с HTTP/1.1:

Особенность HTTP/1.1 HTTP/2 Преимущество
Мультиплексирование Не поддерживается (HOL-блокировка) Поддерживается Множество запросов/ответов параллельно в одном TCP-соединении.
Формат Текстовый Бинарный Более быстрый парсинг, компактность, меньше ошибок.
Сжатие заголовков Не сжимались HPACK Уменьшает накладные расходы.
Приоритизация Нет Есть Клиент может указать приоритеты для потоков.
Server Push Нет Есть Сервер может отправить ресурсы клиенту до запроса.

Пример Server Push (концептуально): Когда клиент запрашивает index.html, сервер может "протолкнуть" связанные файлы (style.css, app.js), экономя циклы запросов.

Как включить? Обычно требуется HTTPS. В Spring Boot:

# application.properties
server.http2.enabled=true

Почему это важно? HTTP/2 решает фундаментальные проблемы производительности HTTP/1.1, особенно для современных веб-сайтов с десятками ресурсов, что приводит к более быстрой загрузке страниц.