Стандарт скорости Статьи редакции

Что такое 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 года.

0
29 комментариев
Написать комментарий...
Драгоценный Кирилл

Потеря пакетов

Ответить
Развернуть ветку
Медный Денис

нет же, вот потеря пакетов:

Ответить
Развернуть ветку
Школьный Влад

тут скорее всего проблемы соединения уже.

Ответить
Развернуть ветку
Зимний блик
Ответить
Развернуть ветку
Изящный мангал

Не смог.

Ответить
Развернуть ветку
Драгоценный Кирилл
Ответить
Развернуть ветку
Достойный файл

DOS-атака.

Ответить
Развернуть ветку
Ленинский дебаркадер

Комментарий недоступен

Ответить
Развернуть ветку
Долгий кран

<div style="zanuda:100%">
Тогда уж 503 Service Temporarily Unavailable
</div>

Ответить
Развернуть ветку
Достойный файл

Ну таки это и является целью DOS-атаки.

Ответить
Развернуть ветку
Долгий кран

Ответ для Jey Lymon(:

Ответить
Развернуть ветку
Положенный теркин30см

Женя ¯\_(ツ)_/¯ стал редактором? Что я проспал?

Ответить
Развернуть ветку
Недовольный парфюмер

¯\_(ツ)_/¯

Ответить
Развернуть ветку
Соседний холод

Прошло всего полгода, и у нас появился редактор Евгений К.!

Ответить
Развернуть ветку
Забавный Мика

Черт.

Ответить
Развернуть ветку
Забавный Мика

¯\_(ツ)_/¯

Ответить
Развернуть ветку
Школьный Влад

__/(ツ)\__

Ответить
Развернуть ветку
Формальный якорь

┗┃・ ■ ・┃┛

Ответить
Развернуть ветку
Смертный будильник

Ты либо в тренде, либо уходи

Ответить
Развернуть ветку
Санитарный щит

Начинаем переходить на новый формат. Полный вперед!

Ответить
Развернуть ветку
Немалый Орзэмэс

Вот это Мастер!

Ответить
Развернуть ветку
Дневной пёс_анон

Комментарий недоступен

Ответить
Развернуть ветку
Скучный вентилятор

Нет

Ответить
Развернуть ветку
Утренний рак

Ну вообще никакие регуляторы и угнетатели не возрадуются его распространению. Как никак TLS-only - в трафик уже просто не залезешь.
Особенно будет грустить WiFI в Московском метро от невозможности пихать рекламу в чужие сайты.

Ответить
Развернуть ветку
Осторожный глобус

Котики на ютубе будут грузиться быстрее!

Ответить
Развернуть ветку
Дневной пёс_анон

Комментарий недоступен

Ответить
Развернуть ветку
Срочный холод

.bmp в chrome/ff так и показываются без всяких http/2

http://www.fileformat.info/format/bmp/sample/4cb74cda027a43f3b278c05c3770950f/MARBLES.BMP

Ответить
Развернуть ветку
Литературный Илья
Сегодня мы используем HTTP/1.1, который был представлен в 1999 году, после чего не получал обновления.

Получал летом 2014.

Ответить
Развернуть ветку
Городской кофе

Вот ещё один пример того, когда недоайтишник рассказывает сам не зная о чем. В статье я так и не нашёл, что такого нового в http2

Ответить
Развернуть ветку
Читать все 29 комментариев
null