Необходимый минимум знаний о новом сетевом протоколе.
В 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.Как удалить все письма в ящике на iOS 10?
Перестал работать Touch ID после обновления
Как менять циферблаты Apple Watch автоматически по времени суток
Как на iPhone скрыть уведомления от приложения Быстрые команды
Как совершать экстренный вызов при помощи Apple Watch
Как следить за скидками на приложения в App Store
Как скрывать текст уведомлений на заблокированном экране iPhone
Какая служба в iPhone постоянно использует геолокацию?