От HTTP до HTTP 3 — интернета будущего

Novikov Ivan
NOP::Nuances of Programming
3 min readOct 18, 2020

HTTP расшифровывается как протокол передачи гипертекста. Это набор правил, используемых при доставке веб-страниц с серверов в ваш браузер. HTTPS означает, что тот же протокол используется на уровне шифрования для защиты данных.

HTTP и его слои (стек TCP/IP). Источник: Mozilla Dev
HTTP и его слои (стек TCP/IP). Источник: Mozilla Dev

Обзор HTTP для тех, кто знаком со спецификацией OSI (Open Systems Interconnections) для работы в Интернете и коммуникаций.

HTTP — протокол прикладного уровня. Это означает, что он не имеет ничего общего с базовыми аппаратными структурами или носителями информации. Такое ограничение позволяет улучшать и обновлять спецификации HTTP с увеличением пропускной способности и тому подобных вещей. Скоро вы увидите, как развивается HTTP!

Извлечение веб-страницы. Источник: Mozilla Dev

Цитата Mozilla:

HTTP — клиент-серверный протокол: запросы отправляются одной сущностью, агентом пользователя (или прокси-сервером от его имени). Чаще всего в роли пользователя-агента выступает веб-браузер, но им может быть что угодно, например робот, который посещает узлы сети, чтобы заполнять и поддерживать индекс поисковой системы.

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

Функционал прокси выглядит следующим образом:

  • кэширование;
  • фильтрация (сокрытие контента для взрослых или его блокировка в зависимости от региона);
  • балансировка нагрузки (направление запросов на свободные серверы);
  • аутентификация (позволяет пользователям взаимодействовать с различными серверами);
  • логирование (обычно применяется для обнаружения аномалий и т.д.).

В HTTP 1 или 1.1 вышеуказанный функционал спокойно работает. Тем не менее в 2009 году Google анонсировал новый протокол HTTP 2.

HTTP 2 был предложен для устранения некоторых ограничений, с которыми HTTP 1 столкнулся по мере развития сетевых технологий и пропускной способности. Вот его возможности:

  • Мультиплексирование: оно позволяет выполнять запросы параллельно через одно и то же TCP-соединение. Помогает загружать ресурсы одновременно.
  • Определение приоритета контента для быстрой загрузки веб-страницы или повышения воспринимаемой скорость загрузки страницы.
  • Сокращение заголовков HTTP.
  • Серверная отправка данных, позволяющая серверам отправлять ресурсы до того, как они запрашиваются веб-браузерами. Такой подход значительно сокращает время на разбор и повторную выборку содержимого в HTML.

HTTP 2 обеспечивает более быструю и безопасную работу пользователя (шифрование HTTP применяется в HTTP 2). Вы можете взглянуть на эту демонстрацию от облачного провайдера akamai. Это протокол, который ещё ждёт нас. Я отметил, что YouTube уже применяет HTTP 3 в Chrome, хотя не уверен насчёт других. Откуда мне знать? Я работаю с плагином просмотра протокола HTTP (HTTP/2 и индикатор SPDY).

Что нового?

Новая спецификация также обещает скорость, безопасность и просто лучшие впечатления. Но как?

HTTP 3 намеревается упростить TCP-рукопожатие (это тройное рукопожатие: привет; привет ещё раз; хорошо, ты получил мой привет, так же). Суть в том, что соединения устанавливаются быстрее с помощью протокола QUIC, который также является чем-то новым.

Продвинутое соединение обещает лучшую миграцию соединения, которая происходит между соединениями Wi-Fi, мобильными сетями и т.д. Обратите внимание, что это не миграция соединений, которую вы видите между маршрутизаторами одной сети. Много сложного и утонченного.

Наконец, такой подход гарантирует устранение медленного старта TCP, что мгновенно даёт высокие скорости. 5G просто взорвется! Не дожидаясь роста скорости с 10 Мбит до 1,5 Гбит/с. Для геймплеев и сервисов, как Stadia, начнется новая жизнь. Может YouTube будет теперь работать гораздо быстрее и без буферизации будет воспроизводить HD-видео прямо с момента запуска. Идеальная спецификация может выйти ближе к концу этого года.

Надеюсь, вам понравилась статья и, несмотря на то, что я не углублялся в технические термины и мелкие детали, вы получили представление об интернете будущего!

Читайте также:

Читайте нас в Telegram, VK и Яндекс.Дзен

--

--