Найти в Дзене
SSLcertificate.ru

Что такое HTTP/3

Прежде чем давать определение HTTP/3-протоколу, рассмотрим эволюцию HTTP-протокола с момента его появления. Это поможет лучше понять особенности и преимущества свежей версии 👇 Эволюция HTTP-протокола HTTP, или протокол передачи гипертекста, был разработан в 1989 году Тимом Бернерсом-Ли для обмена HTML-документами в интернете. HTTP-протокол был построен поверх существующих протоколов — TCP и IP. 📍 Версия HTTP/0.9 Первая версия HTTP-протокола называлась HTTP/0.9. Она позволяла пользователю просматривать веб-сайты с помощью стандартизованных команд. По протоколу HTTP/0.9 предавали только HTML-файлы. Если случался какой-то сбой, его нельзя было определить сразу, потому что не было кодов состояния или ошибок. Когда возникала проблема, создавался специальный HTML-файл с ее описанием. С развитием интернет-технологий протокол HTTP/0.9 устарел: он способен выполнять лишь базовые задачи. Эта версия не поддерживает куки, передачу данных разного формата, данные большого объема и другие современн
Оглавление

Прежде чем давать определение HTTP/3-протоколу, рассмотрим эволюцию HTTP-протокола с момента его появления. Это поможет лучше понять особенности и преимущества свежей версии 👇

Эволюция HTTP-протокола

HTTP, или протокол передачи гипертекста, был разработан в 1989 году Тимом Бернерсом-Ли для обмена HTML-документами в интернете.

HTTP-протокол был построен поверх существующих протоколов — TCP и IP.

📍 Версия HTTP/0.9

Первая версия HTTP-протокола называлась HTTP/0.9. Она позволяла пользователю просматривать веб-сайты с помощью стандартизованных команд.

По протоколу HTTP/0.9 предавали только HTML-файлы. Если случался какой-то сбой, его нельзя было определить сразу, потому что не было кодов состояния или ошибок. Когда возникала проблема, создавался специальный HTML-файл с ее описанием.

С развитием интернет-технологий протокол HTTP/0.9 устарел: он способен выполнять лишь базовые задачи. Эта версия не поддерживает куки, передачу данных разного формата, данные большого объема и другие современные возможности.

📍 Версия HTTP/1.0

В 1996 году была представлена версия HTTP/1.0. В ней появилась возможность осуществлять POST-запросы и отправлять не только веб-страницы.

Основным недостатком этой версии протокола стало то, что для каждого запроса и ответа между клиентом и сервером создавалось новое TCP-соединение. Это существенно замедляло обмен данными.

К тому же, вместо быстрой отправки данных после соединения, TCP-протокол использовал «медленный старт». Эта технология была нужна для того, чтобы алгоритм управления перегрузкой успел определить объем данных, которые будут отправлены, без риска получить перегрузку, с которой не справится сеть.

Из-за «медленного старта» TCP-протокол не мог использовать всю пропускную способность сети.

📍 Версия HTTP/1.1

В 1997 году вышла версия HTTP/1.1. Эта версия стала стандартизированной. В ней появилось много мощных возможностей, таких как куки и устойчивые соединения.

Устойчивые соединения позволяли повторно использовать TCP-соединения. Это снизило время «медленного старта» и установки соединения для каждого запроса.

Однако сохранялась проблема: несмотря на то, что множественные запросы теперь использовали общее соединение, они всё равно выполнялись последовательно. Сервер мог выполнять только один запрос и ответ в конкретный момент времени для каждого соединения.

Для быстрой работы браузеры все равно продолжали использовать множество TCP-соединений одновременно. Это сводило на нет идею устойчивых соединений.

📍 Версия HTTP/2

В 2015 году появилась версия HTTP/2. Она повысила производительность мировой сети за счет того, что единовременно совершает множество запросов через одно TCP-соединение.

Протокол HTTP/2 использует половина всех веб-сайтов в мире.

Тем не менее при использовании этой версии протокола все еще остается угроза потери части данных. Такое может происходить из-за перегрузки сети. Чтобы восстановить утерянную информацию, протокол посылает новые запросы на сервер, что замедляет соединение.

Вторая проблема — когда теряется какая-то часть из передаваемой цепочки данных, то информация, следующая за потерянной частью, также не доставляется. Чтобы ее получить, протокол снова отправляет новые запросы на сервер. Таким образом, создается много новых TCP-подключений, которые препятствуют быстрой установке соединения.

👉Читайте также наши статьи:

  • Что такое SSL-сертификат
  • Нужен ли SSL-сертификат моему сайту
  • Как работает SSL-сертификат
  • Руководство по миграции с HTTP на HTTPS для WordPress

Особенности протокола HTTP/3

Протокол HTTP/2 не изменял основы HTTP-протокола. Он все так же строился поверх TCP-протокола, который уже не может обеспечивать эффективную передачу данных. В этом основное различие между HTTP/2 и HTTP/3 — HTTP/3 работает на основе более функционального QUIC-протокола.

Особенности QUIC-протокола:

👉 QUIC-протокол работает через UDP-протокол вместо TCP, который использовался всеми предыдущими версиями HTTP. UDP-протокол обеспечивает оптимизированную передачу данных. Благодаря этим изменениям решается проблема с потерей части информации.

👉 QUIC-протокол позволяет шифровать соединение сразу же при первичном подключении к серверу. Для этого протоколу уже не нужно отправлять отдельный запрос на сервер, как в предыдущих версиях HTTP. Таким образом по умолчанию обеспечивается возможность шифрования и аутентификации.

Ожидается, что HTTP/3 скоро станет стандартным протоколом. Эта версия протокола поддерживается большинством современных браузеров. В январе 2022 года, когда мы пишем эту статью, HTTP/3 используют 24,3% всех веб-сайтов.

Однако чтобы использовать HTTP/3-протокол, он должен также поддерживаться сервером, где находится сайт. То есть чтобы узнать, может ли ваш сайт работать по протоколу HTTP/3, обращайтесь к хостинг-провайдеру.

А по какому протоколу работает ваш сайт ❓ Пишите в комментариях!

Если вам понравилась статья, ставьте лайки и подписывайтесь на канал 😉