HTTP / 3 подходит к QUIC, вот что вам нужно знать — CloudSavvy IT

Протокол HTTP.
Shutterstock / Роберт Августин

HTTP / 3 — это следующее поколение протокола HTTP. Он питается от QUIC, который заменяет TCP на транспортном уровне и сокращает количество циклов, которые клиент должен совершить для установления соединения.

Что делает это лучше?

Если вы не можете сказать из аббревиатуры «QUIC», HTTP / 3 намного быстрее.

HTTP это только часть Модель OSI, который питает Интернет, как мы его знаем. Каждый уровень модели служит разным целям: высокоуровневые API, такие как HTTP, находятся на самом верху (прикладной уровень), вплоть до физических проводов и соединений, подключаемых к маршрутизаторам:

HTTP является частью модели OSI

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Но в этой модели есть узкое место — и, несмотря на новое название, сам по себе стандарт HTTP не является проблемой.

TCP (транспортный уровень) является виновником здесь; он был разработан еще в 70-х годах, и поэтому не был создан для обеспечения хорошей связи в реальном времени. HTTP-over-TCP достиг своего предела. Google и остальная часть технического пространства работают над заменой TCP.

В 2012 году Google создал SPDY, протокол, основанный на TCP и устраняющий множество распространенных проблем. SPDY сам по себе устарел, но его части пробились в HTTP / 2, который в настоящее время используется 40% Интернета,

QUIC — это новый стандарт, очень похожий на SPDY, но он построен на основе UDP, а не TCP. UDP намного быстрее, чем TCP, но, как правило, менее надежен, поскольку не имеет такой же проверки ошибок и предотвращения потерь, как TCP. Он обычно используется в приложениях, которые не требуют, чтобы пакеты находились в точный правильный порядок, но заботятся о задержке (например, видео в реальном времени).

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

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

QUIC решает эту проблему и гораздо лучше справляется с соединениями с большими потерями. Ранние тесты Google показали улучшения примерно на 15% в сценариях с высокой задержкой и до 30% улучшений в буферизации видео на мобильных соединениях. Поскольку QUIC сокращает количество рукопожатий, которые должны быть сделаны, будут задержки по всем направлениям.

Это сложно реализовать?

Хотя QUIC — это новый стандарт, он построен на основе UDP, который уже поддерживается практически везде. Это не потребует каких-либо новых обновлений ядра, которые могут быть проблематичными для серверов. QUIC должен работать из коробки на любой системе, которая поддерживает UDP

HTTP-over-QUIC должен стать заменой HTTP-over-TCP, как только он станет доступен. На момент написания статьи Chrome поддерживает QUIC, но по умолчанию он отключен. Вы можете включить его для тестирования, перейдя в:

chrome://flags

и включение флага «Экспериментальный протокол QUIC». Firefox добавит поддержку позже этой осенью, и с переходом Edge на Chromium они также скоро получат поддержку.

На стороне сервера: если вы используете CloudFlare в качестве своего CDN, вы сможете включить опцию, уже имеющуюся на панели инструментов, хотя у вас не будет большого количества клиентов, фактически использующих ее, пока мобильные браузеры не включат ее по умолчанию. Быстро есть активно работает над поддержкой, Если вы хотите включить его на своем веб-сервере, вам придется немного подождать — ранняя поддержка QUIC должна прибыть во время цикл разработки nginx 1.17Но поддержки Apache пока не видно.

После того как nginx и Apache будут обновлены для его поддержки, добавить QUIC на веб-страницу или веб-приложение будет так же просто, как обновить веб-сервер и включить эту опцию. Вам не нужно вносить какие-либо изменения в свое приложение или код, поскольку все это обрабатывается на уровне инфраструктуры. Его еще нет, но он появится очень скоро, и вы обязательно захотите включить его, если он поддерживается по умолчанию.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *