Необходимый минимум знаний о новом сетевом протоколе.
В 2015 году на смену HTTP 1.0 пришел новый усовершенствованный протокол передачи данных. Сайты по всему миру добавляют поддержку HTTP/2 на свои серверы. Для каждого из нас пришло время начать внедрять новую технологию в повседневную жизнь.
Выгоды от перехода
- Некоторые сайты будут работать ощутимо быстрее (пока примерно 1 ресурс из 10, но сайтов поддерживающих HTTP/2 становится больше с каждым днем);
- Передаваемые по сети данные будут в большой безопасности;
- Используя HTTP2, вы предпринимаете еще одну попытку не отстать от жизни.
Как приобщиться к прогрессу?
Вкратце: убедиться, что браузер поддерживает HTTP2, установить нужное дополнение и расслабиться.
Проверить, поддерживает ли ваш браузер новый протокол можно по этой ссылке.
Конкретные рекомендации для пользователей разных браузеров:
Firefox
Обновить браузер и поставить плагин SPDY Indicator.
Chrome
Обновить браузер и установить дополнение SPDY Indicator.
Opera
Установить дополнение FossBytes.
Safari
Обновить браузер до 9 версии.
Internet Explorer
Перейти на браузер Microsoft 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. Создатели новой версии серьезно поработали над устранением подобных проблем и вывели безопасность на новый уровень.
Но многочисленные исследования показывают, что у нового протокола с безопасность все еще далеко не идеально. Одним из самых интересных материалов об этом, на мой взгляд, является доклад от Yahoo Security)
Подробную техническую информацию о HTTP/2 можно найти в:
- Документе HTTP2 Explained;
- Спецификации RFC 7540, опубликованной 15 мая 2015 года;
- Блоге одного из авторов проекта Даниэля Штейнберга.
Что дальше?
На подходе еще один протокол QUIC! В нем будут решены многие проблемы HTTP 2 (прежде всего речь идет о безопасности). Экспериментальная версия QUIC внедрена в браузер Chrome и на серверы некоторых сервисов Google. Но о его массовом внедрении говорить пока рано.
61 комментариев
Форум →Мы давно перешли на http/2 :) Заходите, испытайте скорость filedir.ru :))
Помимо электробритв и спорта, теперь вот и о протоколах пишут. Пора название домена менять.
@AZ, да лишь бы Роман Юрьев тесты страпонов больше не публиковал :)
Его статьи больше и не открываю.
Долго не заходил на этот сайт и выходит не зря) Скатились до какого-то очередного агрегатора новостей сомнительной полезности и информативности.
@memuar, думаете дерьмицо сайт стал?)
@dennis1, а какие посты Вам раньше нравились? Приведите примеры пожалуйста.
@Ирина Чернова, мне например нравятся Ваши посты про смазки и фалоимитаторы… живой такой блог получается
@dennis1, ну был один КОММЕНТАРИЙ про смазки… Но что Вы имеете ввиду под постами про фаллоиммитаторы? Я ниче такого не делала)
@Ирина Чернова, я Вас не осуждаю Ирин, мне всегда нравились девушки, которые готовы на эксперименты… с удовольствием буду читать Ваши статьи про интересные “штуки”))
@Ирина Чернова, Ирина? может быть обменяемся для начала адресами эл. почты?
@dennis1, большое спасибо за предложение! Читала историю Ваших комментов. Вы чрезмерно увлечены спортом, занудны и несколько грубы. Мой жизненный опыт показывает, что такой тип мужчин не слишком подходит для приятных развлечений.
p.s. но если я внезапно пересмотрю свои взгляды, то Ваш email у меня есть.
@memuar, а какие посты Вам раньше нравились? Приведите примеры пожалуйста.
@Ирина Чернова, Safari 9 поддерживает http/2, Apache поддерживает http/2 через модуль mod_http2
Учите матчасть
1. На этот модуль для Apache есть ссылка в статье.
2. Про поддержку http/2 я не нашла на сайте Apple. Буду благодарна за пруфлинк.
@Ирина Чернова, вот про это Вам и говорят. Мы ценим Ваш труд, но скопипастить статью с 3-4 ссылок на профессиональную тему это , в общем лучше такие статьи не писать или попросить читателя какого-нибудь интервью дать на жту тему, подготовить вопросы и т.д.
@nikioleg, уважаемый, зайдите на Вики и будете смеяться вместе со мной.
@BusterPop, на Вики про поддержку http2 есть указание источника на blog.restlet.com. А пришлите, пожалуйста, пруффлинк с сайта Apple и добавим тогда про Safari 9 в статью и я с радостью признаю свою ошибку.
@Ирина Чернова, мне даже стало противно: https://ru.m.wikipedia.org/wiki/HTTP/2
@BusterPop, я не хочу спорить с Вами) Я видела эту страницу, но на сайте Apple упоминаний про это нет((((((((( дайте ссылку поавторитетнее и все сразу поправим)
Большое спасибо за помощь в улучшении статьи)
@BusterPop, проверила тестом на поддержку Safari 9. Да поддерживает) но где про это пишет apple…
@Ирина Чернова, продолжайте учить матчасть, погуглите немножко, поройтесь в словарях, узнайте наконец, чем патч отличается от модуля
Хули Вы все ноете о ресурсе, не заходите, удалите с закладок и забудьте. От Вашего нытья, тошно уже.
@kmukhamet, К нашему счастью, именно наше нытье, как я подозреваю, вырвало phones.ru из цепких рук Борка и Бандерольки …(вогнав рекламу в более вменяемое русло…
поэтому ОГРОМНОЕ спасибо админам что не даете скатиться Айфонсру в никуда!!!
Спасибо что слушаете нас… Спасибо что не боитесь пойти на поводу ваших читателей
И.., @kmukhamet, нытье меня тоже раздражает, но тут оно кажется по существу ведь? Статью прочитал по-диагонали, так как не особо шарю в этом… И сразу перешел к комментам, где собственно все самое интересное порой))))
Так что, мне кажется тут по теме, вроде…
@butchmd, да уж.. уж лучше бандеролька чем пристежные концы от Юрьева.
@butchmd, Для каждого поста есть свой читатель. Мне было интересно, как раз сейчас нужно продлевать сертификат HTTPS на сайте, вот и прочитал про новую версию данного стандарта.
@Ирина Чернова, просто не беритесь за статьи технические, в которых ничего не понимаете.
@TVP, да тут и технической информации нет совсем… пара строк о том что надо бы обновить браузеры, чтобы повысить скорость работы некоторых сайтов + пара строк для владельцев сайтов + пара строк о том что скорость достигается за счет объединения запросов в потоки + упоминание о том, что в новом протоколе уже найдены уязвимости. Все предельно просто.
А мне было интересно. Спасибо, Ирина.
@AntiDot, Вам большое спасибо за поддержку)
Статья определенно интересная и познавательная.
Только, автор настолько увлеклась яблочными технологиями, что пропустила момент, когда Internet Explorer был похоронен, а его место в Windows 10 занял браузер Edge.
@yurembo, спасибо. Поправила.
@Ирина Чернова, зря поправили. В Win10 есть и Edge и IE. За статью спасибо. А от зануд ждем ссылок на инфу про поддержку стандарта Safari.
@s-e-s, IE не развивается, MS рекомендует использовать Edge, вопрос статьи в поддержке нового протокола, его поддержка реализована в Edge, но его поддержка в IE под вопросом; зачем MS два браузера? она будет поддерживать только один, и все указывает не в пользу IE
@s-e-s, ну я думаю рекомендация пользователям IE перейти на EDGE вполне корректна)) Вам спасибо за поддержку:-) А ссылку про Safari я очень очень жду ;-(
@yurembo, вы ошибаетесь. Explorer по прежнему на месте
@alk_, по факту, ПО нельзя похоронить, MS не собирается развивать IE, рекомендуя использовать Edge, поэтому в переносном смысле IE похоронен
боюсь ошибиться, но в win 10 нет IE, теперь они выпустили новый браузер EDGE
https://www.microsoft.com/ru-ru/windows/features?section=edge
@ljalex, спасибо! С этим IE реально стыдно вышло((
@ljalex, вообще то IE 11 в win 10 есть
@alk_, кому он там нужен? он оставлен только для унаследованного ПО и он не соответствует цели статьи;
Edge действительно занял место IE, т.е. место главного браузера
Вообще в nginx начиная с 1.9.5 из коробки включен модуль http\2 . Правильно пишут, что содрали устаревшую статью, даже минимально не разобравшись в теме.
@aragnophy, да отсутвие упоминания об этой версии вышедшей три месяца назад – это косяк.
Но смысл раздела для владельцев сайтов: “смените сервер (пример, пример) либо поставьте модуль (пример, пример)”. Он написан как призыв задуматься, а не как руководство к действию.
@aragnophy, и большое спасибо за уточнение!
>Уже не первый десяток лет в СМИ регулярно появляются новости о новых
>уязвимостях http и https.
Уязвимостях, в https? HTTPS не является отдельным протоколом – это тот же самый HTTP протокол, только передается он внутри SSL/TLS туннеля. И именно в последних находят уязвимости, к чему ни HTTP, ни HTTP2 отношения никакого не имеют. TLS находится ниже уровнем, внутри него передается все что угодно, оттого и туннелированием это зовется.
И ваша ссылка yahoo к этому имеет малое отношение. Там речь о уязвимости самого протокола, его парсинга, чем HTTP давным давно не страдает – все уязвимости, связанные с самим HTTP, так или иначе касаются ошибок логики приложений и их слабой защиты от атак. HTTP2 слишком молод, сложный и бинарный, а значит фаззинг атаки могут быть очень успешны.
1. В статье не написано что https является отдельным протоколом(
2. Словосочетание “http vulnerabilities”, “https vulnerabilities”, “http уязвимости”, “https уязвимости” употребляются ОЧЕНЬ ЧАСТО (вот пример по русски http://www.computerra.ru/123762/logjam-vulnerability-in-https/). И все примерно понимают, что имеется ввиду под этими словосочетаниями.
Вы четко пояснили почему так говорить и писать некорректно. Спасибо, буду пользоваться Вашим советом:-)
3. Так ссылка на статью от Yahoo Security уже в другом абзаце и к ней дается пояснение, что она о проблемах с безопасностью в http/2 (и статья об этом).
И большое спасибо за замечания)
@creker, Артем я несколько не посмею усомниться в Вашем опыте и глубоких знаниях в области ИБ. Насколько я знаю он впечатляет;-) Но “уязвимости http” реально часто говорят…. Извините(
@Ирина Чернова, как имя отыскали?) Я прекрасно понимаю, почему и зачем говорят так – потому что привычно, потому что HTTPS стало синонимом защищенного подключения вообще, а HTTP синонимом интернета. Но это неправильно чисто технически и дает неверный посыл – статья компьютерры отличный пример. Logjam это уязвимость в TLS. При чем тут вообще HTTPS? Да любой протокол внутри будет уязвим для прослушивания. Можно внутри TLS хоть собственный бинарный протокол пускать и он будет уязвим. HTTPS то протоколом не назвать – скорее соглашение, что HTTP внутри TLS работает на 443 порту и в ссылках это обозначается как HTTPS, чтобы браузерам было понятно. Но для не тематического ресурса все эти детали нужно объяснять, а то, нашли уязвимость в TLS и че? Че это такая за хрень вообще? А HTTPS – другое дело совсем, это ж интернет.
А извиняться не за что совершенно. Занудство на технические темы оно присутствует, но от реальности пока еще не оторван. Заставлять всех знать об уровнях OSI и того, где какой протокол лежит, незачем совершенно. Но раз взялись писать такие статьи, значит какое-то любопытство к теме присутствует и можно посодействовать углублению знаний.
@creker, google “creker github” (женская интуиция подсказала что вы там есть:-)). Потом через Linkedin узнала сколько у вас международных сертификатов по ИБ и в каких крутых местах Вы работали)))
Иногда почитав комментарии на iphones страшно становится “кто нас читает…”
Огромное спасибо что посодействовали в углублении моих знаний)))))
А интерес к этой теме остался в прошлом… когда я была девочкой подростком я интересовалось темой ИБ (очень любила журнал Хакер), но с тех пор многое забылось и многое изменилось…
Что за дезинформация про сафари? Он поддерживает http2.
@Букинxем, вот в википедии про это есть. А на сайте Apple я не нашла об этом( Не могли бы вы поделиться ссылкой на эту инфу пожалуйста.
Сафари как обычно в заднице(((
@The AGENT, вы гомофоб? :)
@cetus, это с чего вдруг?
@The AGENT, простите меня. Сейчас нашла способ протестировать браузер на предмет поддержки HTTP/2 (добавила его в статью). Safari 9 поддерживает его((((
@AppleStyle, петросяните? боян же :)))
казалось бы, тема не о чем :) а как взбодрила всех :)
@cetus, ага, сама в шоке…
@Ирина Чернова, мне кажется вы слишком близко к сердцу восприняли это. Удачи Вам!
@cetus, спасибо:-)
Не понимаю о чем развели такой вой, мне статья понравилась, спасибо Ирина.
@raven, да по делу то вой был… Вы статью уже в правленном виде читали:-)
Добрый день. Добавил себе на сайте https://mobiappsystems.ru/ HTTP/2. Сервис “HTTP/2 Тест – онлайн сервис” показывает, что
сайт поддерживает http/2. Но вот firebug в firefox в заголовках пишет Версия: HTTP/1.1
В чем может быть проблема? Версия Nginx 1.11.6, в конфиге все указал: listen 443 ssl http2;
Нашли орфографическую ошибку в новости?
Выделите ее мышью и нажмите Ctrl+Enter.Как выводить звук с телевизора или Apple TV на колонку HomePod
Почему приложения на iPhone не обновляются из App Store
Почему iPhone пытается подключиться к старому почтовому ящику, который давно удален
Почему при открытии заметок в iCloud через браузер требуется подтверждение на iPhone
Почему на iPhone не работает распознавание текста Live Text
Как отключить всплывающие аннотации в приложении YouTube на iPhone?
Как использовать iPad в качестве центра для умного дома
Как использовать iPhone, если сломалась кнопка блокировки