Переходим на HTTP/2

Нужный минимум знаний о новом сетевом протоколе.

В 2015 году на смену HTTP 1.0 пришел новый усовершенствованный протокол передачи данных. Сайты в мире додают помощь HTTP/2 на собственные серверы. Для каждого из нас пришло время начать внедрять новую разработку в повседневную судьбу.

Пользы от перехода

Кое-какие сайты будут трудиться ощутимо стремительнее (до тех пор пока приблизительно 1 ресурс из 10, но сайтов поддерживающих HTTP/2 делается больше с каждым днем);

Передаваемые по сети эти будут в громадной безопасности;

Применяя HTTP2, вы предпринимаете еще одну попытку не отстать от судьбы.

Как приобщиться к прогрессу?

Кратко: убедиться, что браузер поддерживает HTTP2, установить необходимое дополнение и расслабиться.

Проверить, поддерживает ли ваш браузер новый протокол возможно по данной ссылке.

Конкретные советы для пользователей различных браузеров:

Firefox

Обновить браузер и поставить плагин SPDY Indicator.

Chrome

Обновить браузер и установить дополнение SPDY Indicator.

Opera

Установить дополнение FossBytes.

Safari

Обновить браузер до 9 версии.

MSIE

Перейти на браузер Микрософт Edge.

Что делать веб-разработчикам?

Проверить поддерживает ли Ваш сайт HTTP/2 возможно тут.

В случае если итог отрицательный, то:

1. Перевести сайт на сервер с помощью HTTP/2: H20, Apache Traffic Server и nghttp2. Или поставить соответсвующие патчи для Apache либо ngnix.

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

Подробности для интересных

Чтобы выяснить преимущества HTTP/2 нужно разобраться, чем был нехорош HTTP 1.0.

В 2011 году среднестатическая интернет страница представляла собой 800 Кб данных и 80 отдельных объектов, а в 2015 уже 2100 Кб и 100 объектов.

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

К примеру, в то время, когда вы открываете iphones.ru, происходит 161 http-запрос.

Данный факт замедляет загрузку сайтов (задержка создается за счет времемни ожидания ответа сервера на любой запрос) и увеличивает возможность сбоев в работе ресурса.

Проверить какое количество http-запросов выполняется при загрузке страницы возможно тут.

Кое-какие веб-разработчики стараются сократить количество http-запросов и используют для этого разнообразные уловки. К примеру:

Объединение нескольких картин в один нарезка и спрайт их средствами CSS/JavaScript;

Объединение всех внешних js-скриптов/css-таблиц в один файл;

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

Эти приемы в некоей степени ускоряют работу сайтов, но глобально решить проблему может лишь введение нового протокола.

В http/2 пара объектов объединяются в один фрейм (HEADERS, DATA). Эта возможность разрешает загрузить множество пакетов данных посредством одного соединения, что дает ощутимый прирост скорости загрузки.

Еще в новом протоколе более действенный способ сжатия заголовков. Эта мелочь также вносит вклад в повышение скорости загрузки страниц.

Большим недочётом HTTP 1.0 есть безопасность.

Уже не первый дюжина лет в массмедиа систематично появляются новости о новых уязвимостях http и https. Создатели новой версии без шуток поработали над устранением аналогичных неприятностей и вывели безопасность на новый уровень.

Но бессчётные изучения говорят о том, что у нового протокола с безопасность все еще далеко не идеально. Одним из самых занимательных материалов об этом, на мой взор, есть доклад от Яху Security)

Подробную техническую данные о HTTP/2 возможно отыскать в:

Документе HTTP2 Explained;

Спецификации RFC 7540, опубликованной 15 мая 2015 года;

Блоге одного из авторов проекта Даниэля Штейнберга.

Что дальше?

На подходе еще один протокол QUIC! В нем будут решены многие неприятности HTTP 2 (в первую очередь речь заходит о безопасности). Экспериментальная версия QUIC внедрена в браузер Chrome и на серверы некоторых сервисов Гугл.

Но о его массовом внедрении сказать до тех пор пока рано.