HTTP2 —обзор технологии

  N. Статьи

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

Сравнение протоколов HTTP/1 и HTTP/2

Использование протокола HTTP/1.1 со временем привело к одной существенной проблеме. В начале 2000-x сайты создавались на одном лишь HTML с небольшим внедрением CSS-стилей. А вот сайты в наше время часто подгружают несколько css-файлов, скрипты Javascript и даже flash-анимацию.

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

Новый протокол HTTP/2 имеет ряд особенностей, способных сгладить данную проблему:

  • Конвейеризация и мультиплексирование запросов: в рамках одного TCP-соединения могут быть отправлены сразу несколько запросов;
  • Расстановка приоритета потоков;
  • Сжатие размеров данных в заголовках HTTP;
  • Формат данных изменен с текстового на бинарный.

HTTP/2 работает быстрее HTTP/1?

В проведенных специалистами из компании HttpWatch нескольких тестов использования протокола HTTP/2 обнаружено заметное ускорение.

Скорость загрузки по HTTP/1.1 зафиксирована на изображении ниже:

Скорость загрузки данного ресурса по HTTP/2:

В результате проведенного теста реальное ускорение загрузки составило 23%. =

Серии тестов от ряда других компаний показали ускорение в диапазоне 13-18% по протоколу HTTP/2, и это для сайтов с уже выполненной первичной оптимизацией.

Какие браузеры поддерживают протокол HTTP/2?

Следующие браузеры поддерживают протокол HTTP/2 (по сведениям CanIUse.com):
Зеленый — полная поддержка, Красный — поддержка отсутствует.

На момент написания обзора составляет ~96.51% браузеров пользователей сервиса CanIUse.

Как использовать HTTP/2 на хостинге?

Для клиентов нашего хостинга поддержка HTTP/2 добавлена на уровне модуля к серверу nginx. Для передачи данных по протоколу HTTP/2 должен быть подключен SSL-сертификат.

Поддержку протокола HTTP/2 можно проверить с помощью сервисов или расширений для Mozilla Firefox или Google Chrome.