Содержание
HTTP/3
2022-08-25 Гуреев Евгений
HTTP/3 (ранее известный как HTTP-over-QUIC) — третья версия протокола передачи гипертекста HTTP, используемого для передачи информации во Всемирной паутине, наследница HTTP/2. HTTP/3 в настоящее время находится в стадии черновика и основан на предыдущем черновике RFC «Hypertext Transfer Protocol (HTTP) over QUIC», где QUIC — экспериментальный сетевой протокол транспортного уровня, разработанный в 2012 году компанией Google.
HTTP/3 — это новый синтаксис HTTP, который работает на IETF QUIC, мультиплексированном и безопасном транспорте на основе UDP.
Базовая настройка HTTP/3
Краткие инструкции по включению и базовой настройке HTTP/2:
В настоящее время HTTP/3 работает только через TLS 1.3 (т.е. требует HTTPS).
Сравнение с HTTP/1.1 и HTTP/2
Семантика HTTP одинакова для всех версий: одни и те же методы запросов, коды состояния и поля сообщений обычно применимы ко всем версиям. Различия заключаются в сопоставлении этой семантики с базовыми транспортами. И HTTP/1.1, и HTTP/2 используют TCP в качестве транспорта. HTTP/3 использует QUIC, сетевой протокол транспортного уровня, который использует управление перегрузкой пользовательского пространства по протоколу пользовательских дейтаграмм (UDP). Переход на QUIC направлен на решение серьезной проблемы HTTP/2, называемой «блокировкой заголовка строки»: поскольку параллельный характер мультиплексирования HTTP/2 невидим для механизмов восстановления потерь TCP, потерянный или переупорядоченный пакет приводит к остановке всех активных транзакций независимо от того, повлиял ли на эту транзакцию потерянный пакет. Поскольку QUIC обеспечивает собственное мультиплексирование, потерянные пакеты влияют только на потоки, в которых были потеряны данные.
Реализации
По данным W3Techs на 1 июля 2021 года, 20 % из 10 млн самых популярных интернет-сайтов поддерживают протокол HTTP/3.
Клиент
Браузер | Версия реализации (выключено по умолчанию) | Версия поддержки (включено по умолчанию) | ||
---|---|---|---|---|
Chrome | 79 | 2019 Декабрь | 87 | Апрель 2020 |
Firefox | 72.0.1 | 2020 Январь | 88 | Апрель 2021 |
Safari | 104 | 2020 Апрель | – | – |
Сервер
Веб-серверы могут объявить о поддержке HTTP/3, используя заголовок ответа Alt-Svc, или с помощью DNS-записи HTTPS.
Сервер | Версия | Комментарий | |
---|---|---|---|
NGINX | 2020 Июнь | ||
Apache HTTP | ? | ? | |
IIS | 10 | 2021 | Windows Server 2022 / Windows 11 |
Hypercorn | 2019 Август | ||
Caddy | 2.0 | 2020 Апрель | |
LiteSpeed Web Server | 2021 Июнь |