Содержание

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 Июнь

См. также