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

Ирина Чернова avatar | 61
FavoriteLoading В закладки
Переходим на HTTP/2

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

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

Выгоды от перехода

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

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

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

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

http_2_test

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

Firefox

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

Chrome

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

Opera

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

Safari

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

Internet Explorer

Перейти на браузер Microsoft Edge.

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

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

http_2_site_test

Если результат отрицательный, то:

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-запрос.

iphones_test

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

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

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

  • Объединение нескольких картинок в один спрайт и нарезка их средствами CSS/JavaScript;
  • Объединение всех внешних js-скриптов/css-таблиц в один файл;
  • Шардинг (распределение данных для загрузки страниц по максимальному числу хостов).

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

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

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

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

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

Подробную техническую информацию о HTTP/2 можно найти в:

  • Документе HTTP2 Explained;
  • Спецификации RFC 7540, опубликованной 15 мая 2015 года;
  • Блоге одного из авторов проекта Даниэля Штейнберга.

Что дальше?

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

1 Звезд2 Звезды3 Звезды4 Звезды5 Звезд (Проголосуйте первым за статью!)
undefined
iPhones.ru
Необходимый минимум знаний о новом сетевом протоколе. В 2015 году на смену HTTP 1.0 пришел новый усовершенствованный протокол передачи данных. Сайты по всему миру добавляют поддержку HTTP/2 на свои серверы. Для каждого из нас пришло время начать внедрять новую технологию в повседневную жизнь. Выгоды от перехода Некоторые сайты будут работать ощутимо быстрее (пока примерно 1...
Прокомментировать

🙈 Комментарии 61

  1. AZ avatar
    AZ2 февраля 2016
    3

    Мы давно перешли на http/2 :) Заходите, испытайте скорость filedir.ru :))

    Помимо электробритв и спорта, теперь вот и о протоколах пишут. Пора название домена менять.

    AppleStyle avatar
    AppleStyle2 февраля 2016
    9

    @AZ, да лишь бы Роман Юрьев тесты страпонов больше не публиковал :)
    Его статьи больше и не открываю.

  2. memuar avatar
    memuar2 февраля 2016
    6

    Долго не заходил на этот сайт и выходит не зря) Скатились до какого-то очередного агрегатора новостей сомнительной полезности и информативности.

    dennis1 avatar
    dennis12 февраля 2016
    0

    @memuar, думаете дерьмицо сайт стал?)

    Ирина Чернова avatar
    Ирина Чернова2 февраля 2016
    2

    @dennis1, а какие посты Вам раньше нравились? Приведите примеры пожалуйста.

    dennis1 avatar
    dennis13 февраля 2016
    0

    @Ирина Чернова, мне например нравятся Ваши посты про смазки и фалоимитаторы… живой такой блог получается

    Ирина Чернова avatar
    Ирина Чернова3 февраля 2016
    0

    @dennis1, ну был один КОММЕНТАРИЙ про смазки… Но что Вы имеете ввиду под постами про фаллоиммитаторы? Я ниче такого не делала)

    dennis1 avatar
    dennis13 февраля 2016
    0

    @Ирина Чернова, я Вас не осуждаю Ирин, мне всегда нравились девушки, которые готовы на эксперименты… с удовольствием буду читать Ваши статьи про интересные “штуки”))

    dennis1 avatar
    dennis14 февраля 2016
    0

    @Ирина Чернова, Ирина? может быть обменяемся для начала адресами эл. почты?

    Ирина Чернова avatar
    Ирина Чернова4 февраля 2016
    0

    @dennis1, большое спасибо за предложение! Читала историю Ваших комментов. Вы чрезмерно увлечены спортом, занудны и несколько грубы. Мой жизненный опыт показывает, что такой тип мужчин не слишком подходит для приятных развлечений.
    p.s. но если я внезапно пересмотрю свои взгляды, то Ваш email у меня есть.

    Ирина Чернова avatar
    Ирина Чернова2 февраля 2016
    1

    @memuar, а какие посты Вам раньше нравились? Приведите примеры пожалуйста.

    Holm avatar
    Holm2 февраля 2016
    0

    @Ирина Чернова, Safari 9 поддерживает http/2, Apache поддерживает http/2 через модуль mod_http2
    Учите матчасть

    Ирина Чернова avatar
    Ирина Чернова2 февраля 2016
    0

    1. На этот модуль для Apache есть ссылка в статье.
    2. Про поддержку http/2 я не нашла на сайте Apple. Буду благодарна за пруфлинк.

    nikioleg avatar
    nikioleg2 февраля 2016
    1

    @Ирина Чернова, вот про это Вам и говорят. Мы ценим Ваш труд, но скопипастить статью с 3-4 ссылок на профессиональную тему это , в общем лучше такие статьи не писать или попросить читателя какого-нибудь интервью дать на жту тему, подготовить вопросы и т.д.

    BusterPop avatar
    BusterPop2 февраля 2016
    0

    @nikioleg, уважаемый, зайдите на Вики и будете смеяться вместе со мной.

    Ирина Чернова avatar
    Ирина Чернова2 февраля 2016
    0

    @BusterPop, на Вики про поддержку http2 есть указание источника на blog.restlet.com. А пришлите, пожалуйста, пруффлинк с сайта Apple и добавим тогда про Safari 9 в статью и я с радостью признаю свою ошибку.

    BusterPop avatar
    BusterPop2 февраля 2016
    0

    @Ирина Чернова, мне даже стало противно: https://ru.m.wikipedia.org/wiki/HTTP/2

    Ирина Чернова avatar
    Ирина Чернова2 февраля 2016
    0

    @BusterPop, я не хочу спорить с Вами) Я видела эту страницу, но на сайте Apple упоминаний про это нет((((((((( дайте ссылку поавторитетнее и все сразу поправим)
    Большое спасибо за помощь в улучшении статьи)

    Ирина Чернова avatar
    Ирина Чернова3 февраля 2016
    0

    @BusterPop, проверила тестом на поддержку Safari 9. Да поддерживает) но где про это пишет apple…

    Holm avatar
    Holm3 февраля 2016
    0

    @Ирина Чернова, продолжайте учить матчасть, погуглите немножко, поройтесь в словарях, узнайте наконец, чем патч отличается от модуля

  3. kmukhamet avatar
    kmukhamet2 февраля 2016
    8

    Хули Вы все ноете о ресурсе, не заходите, удалите с закладок и забудьте. От Вашего нытья, тошно уже.

    butchmd avatar
    butchmd2 февраля 2016
    1

    @kmukhamet, К нашему счастью, именно наше нытье, как я подозреваю, вырвало phones.ru из цепких рук Борка и Бандерольки …(вогнав рекламу в более вменяемое русло…
    поэтому ОГРОМНОЕ спасибо админам что не даете скатиться Айфонсру в никуда!!!
    Спасибо что слушаете нас… Спасибо что не боитесь пойти на поводу ваших читателей

    И.., @kmukhamet, нытье меня тоже раздражает, но тут оно кажется по существу ведь? Статью прочитал по-диагонали, так как не особо шарю в этом… И сразу перешел к комментам, где собственно все самое интересное порой))))
    Так что, мне кажется тут по теме, вроде…

    AppleStyle avatar
    AppleStyle2 февраля 2016
    1

    @butchmd, да уж.. уж лучше бандеролька чем пристежные концы от Юрьева.

    kmukhamet avatar
    kmukhamet2 февраля 2016
    1

    @butchmd, Для каждого поста есть свой читатель. Мне было интересно, как раз сейчас нужно продлевать сертификат HTTPS на сайте, вот и прочитал про новую версию данного стандарта.

  4. BusterPop avatar
    BusterPop2 февраля 2016
    12

    @Ирина Чернова, просто не беритесь за статьи технические, в которых ничего не понимаете.

  5. Ирина Чернова avatar
    Ирина Чернова2 февраля 2016
    2

    @TVP, да тут и технической информации нет совсем… пара строк о том что надо бы обновить браузеры, чтобы повысить скорость работы некоторых сайтов + пара строк для владельцев сайтов + пара строк о том что скорость достигается за счет объединения запросов в потоки + упоминание о том, что в новом протоколе уже найдены уязвимости. Все предельно просто.

  6. AntiDot avatar
    AntiDot2 февраля 2016
    2

    А мне было интересно. Спасибо, Ирина.

    Ирина Чернова avatar
    Ирина Чернова2 февраля 2016
    1

    @AntiDot, Вам большое спасибо за поддержку)

  7. yurembo avatar
    yurembo2 февраля 2016
    0

    Статья определенно интересная и познавательная.
    Только, автор настолько увлеклась яблочными технологиями, что пропустила момент, когда Internet Explorer был похоронен, а его место в Windows 10 занял браузер Edge.

    Ирина Чернова avatar
    Ирина Чернова2 февраля 2016
    0

    @yurembo, спасибо. Поправила.

    s-e-s avatar
    s-e-s2 февраля 2016
    0

    @Ирина Чернова, зря поправили. В Win10 есть и Edge и IE. За статью спасибо. А от зануд ждем ссылок на инфу про поддержку стандарта Safari.

    yurembo avatar
    yurembo2 февраля 2016
    0

    @s-e-s, IE не развивается, MS рекомендует использовать Edge, вопрос статьи в поддержке нового протокола, его поддержка реализована в Edge, но его поддержка в IE под вопросом; зачем MS два браузера? она будет поддерживать только один, и все указывает не в пользу IE

    Ирина Чернова avatar
    Ирина Чернова3 февраля 2016
    0

    @s-e-s, ну я думаю рекомендация пользователям IE перейти на EDGE вполне корректна)) Вам спасибо за поддержку:-) А ссылку про Safari я очень очень жду ;-(

    alk_ avatar
    alk_2 февраля 2016
    0

    @yurembo, вы ошибаетесь. Explorer по прежнему на месте

    yurembo avatar
    yurembo2 февраля 2016
    0

    @alk_, по факту, ПО нельзя похоронить, MS не собирается развивать IE, рекомендуя использовать Edge, поэтому в переносном смысле IE похоронен

  8. ljalex avatar
    ljalex2 февраля 2016
    0

    боюсь ошибиться, но в win 10 нет IE, теперь они выпустили новый браузер EDGE
    https://www.microsoft.com/ru-ru/windows/features?section=edge

    Ирина Чернова avatar
    Ирина Чернова2 февраля 2016
    0

    @ljalex, спасибо! С этим IE реально стыдно вышло((

    alk_ avatar
    alk_2 февраля 2016
    0

    @ljalex, вообще то IE 11 в win 10 есть

    yurembo avatar
    yurembo2 февраля 2016
    0

    @alk_, кому он там нужен? он оставлен только для унаследованного ПО и он не соответствует цели статьи;
    Edge действительно занял место IE, т.е. место главного браузера

  9. aragnophy avatar
    aragnophy2 февраля 2016
    0

    Вообще в nginx начиная с 1.9.5 из коробки включен модуль http\2 . Правильно пишут, что содрали устаревшую статью, даже минимально не разобравшись в теме.

    Ирина Чернова avatar
    Ирина Чернова2 февраля 2016
    0

    @aragnophy, да отсутвие упоминания об этой версии вышедшей три месяца назад – это косяк.
    Но смысл раздела для владельцев сайтов: “смените сервер (пример, пример) либо поставьте модуль (пример, пример)”. Он написан как призыв задуматься, а не как руководство к действию.

    Ирина Чернова avatar
    Ирина Чернова2 февраля 2016
    0

    @aragnophy, и большое спасибо за уточнение!

  10. creker avatar
    creker2 февраля 2016
    0

    >Уже не первый десяток лет в СМИ регулярно появляются новости о новых
    >уязвимостях http и https.
    Уязвимостях, в https? HTTPS не является отдельным протоколом – это тот же самый HTTP протокол, только передается он внутри SSL/TLS туннеля. И именно в последних находят уязвимости, к чему ни HTTP, ни HTTP2 отношения никакого не имеют. TLS находится ниже уровнем, внутри него передается все что угодно, оттого и туннелированием это зовется.

    И ваша ссылка yahoo к этому имеет малое отношение. Там речь о уязвимости самого протокола, его парсинга, чем HTTP давным давно не страдает – все уязвимости, связанные с самим HTTP, так или иначе касаются ошибок логики приложений и их слабой защиты от атак. HTTP2 слишком молод, сложный и бинарный, а значит фаззинг атаки могут быть очень успешны.

    Ирина Чернова avatar
    Ирина Чернова3 февраля 2016
    0

    1. В статье не написано что https является отдельным протоколом(
    2. Словосочетание “http vulnerabilities”, “https vulnerabilities”, “http уязвимости”, “https уязвимости” употребляются ОЧЕНЬ ЧАСТО (вот пример по русски http://www.computerra.ru/123762/logjam-vulnerability-in-https/). И все примерно понимают, что имеется ввиду под этими словосочетаниями.

    Вы четко пояснили почему так говорить и писать некорректно. Спасибо, буду пользоваться Вашим советом:-)

    3. Так ссылка на статью от Yahoo Security уже в другом абзаце и к ней дается пояснение, что она о проблемах с безопасностью в http/2 (и статья об этом).
    И большое спасибо за замечания)

    Ирина Чернова avatar
    Ирина Чернова3 февраля 2016
    0

    @creker, Артем я несколько не посмею усомниться в Вашем опыте и глубоких знаниях в области ИБ. Насколько я знаю он впечатляет;-) Но “уязвимости http” реально часто говорят…. Извините(

    creker avatar
    creker3 февраля 2016
    0

    @Ирина Чернова, как имя отыскали?) Я прекрасно понимаю, почему и зачем говорят так – потому что привычно, потому что HTTPS стало синонимом защищенного подключения вообще, а HTTP синонимом интернета. Но это неправильно чисто технически и дает неверный посыл – статья компьютерры отличный пример. Logjam это уязвимость в TLS. При чем тут вообще HTTPS? Да любой протокол внутри будет уязвим для прослушивания. Можно внутри TLS хоть собственный бинарный протокол пускать и он будет уязвим. HTTPS то протоколом не назвать – скорее соглашение, что HTTP внутри TLS работает на 443 порту и в ссылках это обозначается как HTTPS, чтобы браузерам было понятно. Но для не тематического ресурса все эти детали нужно объяснять, а то, нашли уязвимость в TLS и че? Че это такая за хрень вообще? А HTTPS – другое дело совсем, это ж интернет.

    А извиняться не за что совершенно. Занудство на технические темы оно присутствует, но от реальности пока еще не оторван. Заставлять всех знать об уровнях OSI и того, где какой протокол лежит, незачем совершенно. Но раз взялись писать такие статьи, значит какое-то любопытство к теме присутствует и можно посодействовать углублению знаний.

    Ирина Чернова avatar
    Ирина Чернова3 февраля 2016
    0

    @creker, google “creker github” (женская интуиция подсказала что вы там есть:-)). Потом через Linkedin узнала сколько у вас международных сертификатов по ИБ и в каких крутых местах Вы работали)))
    Иногда почитав комментарии на iphones страшно становится “кто нас читает…”
    Огромное спасибо что посодействовали в углублении моих знаний)))))
    А интерес к этой теме остался в прошлом… когда я была девочкой подростком я интересовалось темой ИБ (очень любила журнал Хакер), но с тех пор многое забылось и многое изменилось…

  11. Букинxем avatar
    Букинxем2 февраля 2016
    0

    Что за дезинформация про сафари? Он поддерживает http2.

    Ирина Чернова avatar
    Ирина Чернова2 февраля 2016
    0

    @Букинxем, вот в википедии про это есть. А на сайте Apple я не нашла об этом( Не могли бы вы поделиться ссылкой на эту инфу пожалуйста.

  12. The AGENT avatar
    The AGENT2 февраля 2016
    0

    Сафари как обычно в заднице(((

    cetus avatar
    cetus3 февраля 2016
    1

    @The AGENT, вы гомофоб? :)

    The AGENT avatar
    The AGENT3 февраля 2016
    0

    @cetus, это с чего вдруг?

    Ирина Чернова avatar
    Ирина Чернова3 февраля 2016
    0

    @The AGENT, простите меня. Сейчас нашла способ протестировать браузер на предмет поддержки HTTP/2 (добавила его в статью). Safari 9 поддерживает его((((

  13. cetus avatar
    cetus3 февраля 2016
    1

    @AppleStyle, петросяните? боян же :)))

  14. cetus avatar
    cetus3 февраля 2016
    2

    казалось бы, тема не о чем :) а как взбодрила всех :)

    Ирина Чернова avatar
    Ирина Чернова3 февраля 2016
    1

    @cetus, ага, сама в шоке…

    cetus avatar
    cetus3 февраля 2016
    1

    @Ирина Чернова, мне кажется вы слишком близко к сердцу восприняли это. Удачи Вам!

    Ирина Чернова avatar
    Ирина Чернова3 февраля 2016
    0

    @cetus, спасибо:-)

  15. raven avatar
    raven3 февраля 2016
    0

    Не понимаю о чем развели такой вой, мне статья понравилась, спасибо Ирина.

    Ирина Чернова avatar
    Ирина Чернова3 февраля 2016
    1

    @raven, да по делу то вой был… Вы статью уже в правленном виде читали:-)

  16. MobiAppSystems avatar
    MobiAppSystems2 апреля 2017
    0

    Добрый день. Добавил себе на сайте https://mobiappsystems.ru/ HTTP/2. Сервис “HTTP/2 Тест – онлайн сервис” показывает, что
    сайт поддерживает http/2. Но вот firebug в firefox в заголовках пишет Версия: HTTP/1.1
    В чем может быть проблема? Версия Nginx 1.11.6, в конфиге все указал: listen 443 ssl http2;

Вы должны авторизоваться или зарегистрироваться для комментирования.

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.

Как установить аватар в комментариях?

Ответ вот здесь