Технологии
Женя Кузьмин

Стандарт скорости

Что такое HTTP/2 и когда на него перейдёт весь интернет

18 февраля Марк Ноттингем, возглавляющий рабочую группу IETF (Инженерный совет интернета), объявил о завершении работы над протоколом HTTP/2. Это стало первым крупным обновлением HTTP за последние 16 лет. TJ решил разобраться, что изменилось в протоколе и когда интернет перейдёт на новый стандарт.

Фото Марка Ноттингема

Что такое HTTP/2

HTTP/2 — это новая версия стандартного протокола передачи гипертекста. Протокол HTTP (Hypertext Transfer Protocol) является основой взаимодействия браузеров с веб-серверами, благодаря чему осуществляются загрузка и отображение веб-страниц. Первая версия, получившая название HTTP/0.9, появилась в 1991 году. Сегодня мы используем HTTP/1.1, который был представлен в 1999 году, после чего не получал обновления.

По мере развития сети загрузка веб-страниц требовала всё больше и больше ресурсов, поэтому потребовался новый протокол.

Как велась разработка

Новым протоколом занялся Инженерный совет интернета — организация, которая разрабатывает интернет-стандарты. Рабочая группа под названием HTTPbis была сформирована летом 2007 года. Обсуждение в группе новой версии HTTP протокола началось в конце 2012 года. За основу HTTP/2 был взят протокол SPDY (от speedy — быстрый), разработанный Google в 2009 году и интегрированный в Chrome, Internet Explorer и Firefox. Работа над HTTP/2 впоследствии началась с черновика SPDY/3.

Даниэль Штенберг, один из участников группы HTTPbis IETF, в апреле 2014 года опубликовал документ «Разъяснение HTTP/2», в котором подробно рассказал о причинах создания и ходе работы над проектом. Материал дополняется до сих пор. Там же он опубликовал концепцию, которую команда учитывала при разработке протокола:

  • Новая версия должна поддерживать парадигмы HTTP;
  • Ссылки http:// и https:// не могут быть изменены. Количество контента, которое использует подобную адресацию, слишком велико, чтобы когда-либо ожидать подобного изменения;
  • HTTP1 серверы и клиенты будут существовать ещё десятилетия;
  • Удалить или уменьшить число опциональных частей в протоколе;
  • Больше нет минорных версий. Клиенты и серверы могут быть либо совместимы с http2, либо нет.

Что изменилось

Главной целью обновления было повышение скорости загрузки страниц. Насколько она станет быстрее, ещё только предстоит узнать. Но Ноттингем предупреждает в своем блоге, что не стоит ожидать увеличения скорости на 50%. Он называет новый протокол скорее способом удалить некоторые ключевые препятствия на пути к большей производительности.

Главным приёмом, который поможет достичь этой цели, является мультиплексирование потоков. Штенберг объясняет принцип работы на простом примере: «Мультиплексирование потоков означает, что пакеты множества потоков смешаны в рамках одного соединения. Два (или больше) отдельных поезда данных собираются в один состав, а затем разделяются на другой стороне». То есть два «поезда», которые в текущей версии протокола «ехали» бы раздельно (и дольше), будут собираться вместе и отправляться по одному соединению в смешанном режиме.

Важными изменениями станут расстановка приоритетов запросов и сжатие заголовков. Новый стандарт использует те же средства HTTP API, что и прошлая версия HTTP/1, что существенно облегчит адаптацию.

Когда все полностью перейдут на новый протокол

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

Но наступления «эры HTTP/2» нужно подождать. Журналист The Verge Джеймс Винсент считает, что пройдет много месяцев (если не лет), прежде чем протокол будет использоваться повсеместно.

Такого же мнения придерживаются и сами разработчики. «Мы не можем заставить мир мигрировать, поэтому HTTP/1.x, скорее всего, будет использоваться в течение достаточно долгого времени», — поясняется в разделе часто задаваемых вопросов на GitHub.

Google обещает добавить поддержку обновления в Chrome уже в ближайшие недели, отказавшись от собственного протокола SPDY. Компания рассчитывает полностью перейти на новый стандарт в начале 2016 года.

#Новость #Google #HTTP #SPDY #HTTP_2 #протоколы_передачи_данных #IETF