Ответ
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, особенно для современных веб-сайтов с десятками ресурсов, что приводит к более быстрой загрузке страниц.