Всё, что необходимо знать о HTTP2

Протокол передачи гипертекста, известный как HTTP, с 1999 года лежит в основе обмена данными в сети.

Совсем недавно Инженерный Совет Интернета (IETF) объявил о готовности HTTP2. Это будет первое обновление протокола за 16 лет. Об этом заявил Марк Ноттингем, глава рабочей группы IETF HTTP, во вторник.

Как только протокол HTTP2 пройдет все согласования в IETF, он будет опубликован и станет главным протоколом Web. Так что же это означает для пользователей?

Зачем обновлять HTTP?

В течение последних 16-ти лет, HTTP лежит в основе передачи Web страниц от сервера к вашему браузеру. Когда вы набираете, например, https://evilinsider.ru, в адресной строке браузера, вы создаете HTTP запрос к серверу, в ответ на который вы получаете веб страницу.

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

Откуда взялся HTTP2?

Однажды, Google изобрел протокол прикладного уровня (SPDY), который имел вид надстройки над HTTP, позволяющей работать браузеру Chrome. SPDY внес определенные улучшения в HTTP, но до сегодняшнего дня он оставался не более чем альтернативой старой версии протокола. SPDY лег в основу HTTP2. Разработчики Chrome совместно с IETF работали над новым протоколом. На прошлой неделе Chrome объявил, что прекращает поддерживать SPDY, так как HTTP2 включает в себе весь основной функционал SPDY.

Что улучшилось в HTTP2 по сравнению с HTTP

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

Сейчас многие разработчики прибегают к спрайтам (spriting) и добавляют js скрипты и css стили прямо в тело страницы (inilining) для минимизации HTTP запросов. В результате число запросов сокращается благодаря, например, объединению нескольких изображений в одно. Но такой подход создает свои проблемы, да и потом, никому не должно и в голову приходить такое решение, все лишь для того, чтобы дать пользователю сносную работоспособность веб-приложения. Теперь HTTP2 не просто не боится большого количества запросов, а даже ожидает от пользователя такой их объем.

Что случится с HTTP?

Сотрудники IETF активно работают над тем как преподнести людям улучшения HTTP2, но наши реалии таковы, что пользователи до сих пор используют Internet Explorer 8.

“Конечно, мы не можем в один день заставить людей перейти на HTTP2, они по прежнему будут использовать свои прокси и сервера, поэтому, видимо, HTTP/1.x некоторое время еще будет в ходу” — цитата из HTTP2 FAQ.

Могу ли я начать пользоваться HTTP2 уже сейчас?

Пока что нет! Если протокол вам интересен со стороны разработчика, то вы можете взглянуть на несколько тестовых реализаций. Остальным же придется дождаться полной поддержки HTTP2 серверами. Но если вы используете Chrome, то велика вероятность, что вы будете в первых рядах пользователей HTTP2.