Что такое HTTP/3 – текущее состояние нового протокола на основе UDP
В ноябре 2018 года целевая группа по разработке Интернета (IETF) собралась в Бангкоке и был принят новый интернет-проект. Транспортный протокол QUIC, преемник HTTP/2, был переименован в HTTP/3.
HTTP/3 основан на протоколе пользовательских дейтаграмм (UDP) и уже используется известными интернет-компаниями, такими как Google и Facebook. Если вы используете Chrome и подключаетесь к сервису Google, вы, вероятно, уже используете QUIC.
Новая версия протокола HTTP использует преимущества простого низкоуровневого протокола UDP и определяет многие новые функции, которые были в предыдущих версиях HTTP на уровне TCP. Это обеспечивает способ устранения ограничений в рамках существующей инфраструктуры Интернета.
Первые результаты являются многообещающими, и поскольку срок действия интернет-проекта IETF истек в августе 2021 года, мы можем ожидать, что HTTP/3 будет продвигаться как новый стандарт HTTP третьего поколения.
HTTP/3 на момент написания этой статьи является интернет-проектом или идентификатором IETF, что означает, что в настоящее время он рассматривается для предстоящего интернет–стандарта Целевой группой по разработке Интернета — международным органом по стандартизации Интернета, отвечающим за определение и продвижение согласованных стандартов интернет-протоколов, таких как TCP, IPv6, VoIP, Интернет вещей и т.д.
Это открытый орган, который объединяет веб-индустрию и способствует обсуждению направления Интернета. В настоящее время фаза “Интернет-проект” HTTP/3 является последней фазой, прежде чем предложения будут переведены на уровень Запроса комментариев (или RFC), который мы можем рассматривать, по сути, как официальные определения интернет-протокола.
Несмотря на то, что HTTP/3 еще не является официальным интернет-протоколом, многие компании и проекты уже начали добавлять поддержку HTTP/3 в свои продукты. Например он уже есть у Cloudflare.
Чтобы проверить, поддерживает ли ваш сайт HTTP/3, вы можете использовать инструмент тестирования HTTP/3 Geekflare. Просто введите свой домен и нажмите кнопку “Проверить HTTP/3”, и инструмент сообщит вам, включен ли на вашем сайте HTTP/3.
Вы также можете использовать инспектор вашего браузера для проверки поддержки HTTP/3. В этом примере мы будем использовать последнюю версию Google Chrome, которая поддерживает HTTP/3.
Чтобы открыть инспектор, щелкните правой кнопкой мыши на странице, нажмите “Проверить” и перейдите на вкладку “Сеть”. В столбце “Протокол” вы можете увидеть протокол HTTP, используемый для подключения. Соединения HTTP/2 отображаются как “h2”, в то время как соединения HTTP/3 отображаются как “h3-XX” (XX относится к конкретному проекту HTTP/3).
HTTP/3 основан на протоколе пользовательских дейтаграмм (UDP) и уже используется известными интернет-компаниями, такими как Google и Facebook. Если вы используете Chrome и подключаетесь к сервису Google, вы, вероятно, уже используете QUIC.
Новая версия протокола HTTP использует преимущества простого низкоуровневого протокола UDP и определяет многие новые функции, которые были в предыдущих версиях HTTP на уровне TCP. Это обеспечивает способ устранения ограничений в рамках существующей инфраструктуры Интернета.
Первые результаты являются многообещающими, и поскольку срок действия интернет-проекта IETF истек в августе 2021 года, мы можем ожидать, что HTTP/3 будет продвигаться как новый стандарт HTTP третьего поколения.
Прогресс HTTP/3 в 2021 году
Некоторые говорят, что стремление веб-индустрии к большей скорости и меньшей задержке соответствует только стремлению Google Chrome к увеличению объема оперативной памяти.HTTP/3 на момент написания этой статьи является интернет-проектом или идентификатором IETF, что означает, что в настоящее время он рассматривается для предстоящего интернет–стандарта Целевой группой по разработке Интернета — международным органом по стандартизации Интернета, отвечающим за определение и продвижение согласованных стандартов интернет-протоколов, таких как TCP, IPv6, VoIP, Интернет вещей и т.д.
Это открытый орган, который объединяет веб-индустрию и способствует обсуждению направления Интернета. В настоящее время фаза “Интернет-проект” HTTP/3 является последней фазой, прежде чем предложения будут переведены на уровень Запроса комментариев (или RFC), который мы можем рассматривать, по сути, как официальные определения интернет-протокола.
Несмотря на то, что HTTP/3 еще не является официальным интернет-протоколом, многие компании и проекты уже начали добавлять поддержку HTTP/3 в свои продукты. Например он уже есть у Cloudflare.
Поддержка веб-браузерами протокола HTTP/3
В интерфейсе веб-браузера Chrome v87, Firefox v88 и Edge v87 по умолчанию включен HTTP/3. Для пользователей Safari опция включения HTTP/3 была добавлена в Safari Technology Preview v104. Однако поддержка HTTP/3 в настоящее время недоступна в стабильной версии Safari. А это значит что макинтошники, использующие Safari, не могут использовать HTTP/3.Библиотечная поддержка HTTP/3
Для разработчиков, желающих использовать технологии HTTP/3, многие популярные библиотеки уже добавили поддержку HTTP/3. Поскольку HTTP/3 все еще находится на стадии интернет-проекта, вам нужно убедиться, что вы настроены на последние обновления при работе с одной из приведенных ниже библиотек.- Python – http3 и aioquic
- Rust – quiche, neqo, и quinn
- C – nghttp3 и lsquic
- Go – quicgo
- JavaScript – Node.js
Инфраструктурная поддержка HTTP/3
Что касается инфраструктуры, Cloudflare лидирует благодаря поддержке HTTP/3 во всей своей пограничной сети. Это означает, что сайты с включенным Cloudflare могут воспользоваться преимуществами повышения безопасности и производительности HTTP/3 без каких-либо дополнительных работ.Чтобы проверить, поддерживает ли ваш сайт HTTP/3, вы можете использовать инструмент тестирования HTTP/3 Geekflare. Просто введите свой домен и нажмите кнопку “Проверить HTTP/3”, и инструмент сообщит вам, включен ли на вашем сайте HTTP/3.
Вы также можете использовать инспектор вашего браузера для проверки поддержки HTTP/3. В этом примере мы будем использовать последнюю версию Google Chrome, которая поддерживает HTTP/3.
Чтобы открыть инспектор, щелкните правой кнопкой мыши на странице, нажмите “Проверить” и перейдите на вкладку “Сеть”. В столбце “Протокол” вы можете увидеть протокол HTTP, используемый для подключения. Соединения HTTP/2 отображаются как “h2”, в то время как соединения HTTP/3 отображаются как “h3-XX” (XX относится к конкретному проекту HTTP/3).