Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Простое сравнение производительности HTTPS, SPDY и HTTP/2

FirefoxРазработка веб-сайтовТестирование IT-системТестирование веб-сервисов
Перевод


Firefox 35 был выпущен совсем недавно и стал первым браузером, поддерживающим HTTP/2 по умолчанию.

HTTP/2 — не совсем законченная технология, так что Firefox активирует версию 14 HTTP/2, хотя и немногое должно измениться в этом протоколе. В настоящее время Google поддеживает эту же версию на своих серверах параллельно с SPDY, что дает нам шанс для сравнения производительности простого HTTPS, SPDY и HTTP/2 на одной и той же странице.
Читать дальше →
Всего голосов 13: ↑6 и ↓7 -1
Просмотры10.9K
Комментарии 4

HTTP/2 (h2-14, spdy4) в Google Chrome 40

Google Chrome
Свершилось!
Открываем: chrome://net-internals/#spdy, и смотрим.

image

Очевидно (?), связано с тем, что на дворе февраль, а как известно, as an RFC, HTTP/2 должен был стать как раз в феврале.

Пока заметил только на некоторых сервисах гугла, таких как mail.google.com и, вот пока клацал по клавишам и главная с остальными сервисами подтянулись.

Думается, теперь развитие пойдет чуть быстрее.
Читать дальше →
Всего голосов 43: ↑33 и ↓10 +23
Просмотры24.3K
Комментарии 14

TLS в HTTP/2

Информационная безопасность
Перевод
image

Я написал обзор «http2 explained» и сделал несколько выступлений по поводу HTTP/2. После я получил много вопросов по поводу связки TLS и HTTP/2, поэтому я хотел бы ответить на некоторые из них в данной статье.

TLS не обязателен


В одобренной спецификации HTTP/2, которая скоро станет официальным RFC, нет ничего об обязательном использовании TLS. Наоборот, там рассказывается, как можно передавать данные открытым текстом TCP, и как – через TLS.
Читать дальше →
Всего голосов 23: ↑22 и ↓1 +21
Просмотры17K
Комментарии 23

Включаем HTTP/2 в NGINX для сайта

Infobox
В этой статье мы расскажем, как включить HTTP/2 для сайта в NGINX, размещенного на VPS от Infobox и какие преимущества это даст вашему сайту. Поддержка HTTP/2 была добавлена в релиз NGINX 1.9.5.



Зачем нужен HTTP/2


HTTP/2 – новая версия протокола HTTP, стандартизированная в начале 2015 года. Использование HTTP/1.1 из-за некоторых особенностей вносит негативный эффект на производительность веб-приложений.

В частности HTTP/1.0 позволяет выполнять только один запрос одновременно в TCP–соединении. В HTTP/1.1 были добавлены конвейерные запросы, но они только частично помогают параллельному исполнению запросов и по-прежнему приводят к блокировкам. Клиенты HTTP/1.0 и HTTP/1.1, которым необходимо делать много запросов сейчас используют множество соединений к серверу.

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

HTTP/2 решает эти проблемы, определяя оптимизированную семантику протокола HTTP. В частности это позволяет выполнять чередование запросов и ответов через то же подключение и предоставляет эффективное кодирование полей HTTP-заголовка. Также HTTP/2 позволяет приоритизировать запросы, позволяя более важным запросам выполняться быстрее.

В результате протокол становится более дружественным к сети, требуя установки меньшего количества TCP–соединений в сравнении с HTTP/1.x, что приводит к более эффективному использованию сети. Также HTTP/2 дает возможность эффективнее обрабатывать сообщения с помощью бинарного формата.

HTTP/2 тесно связан с SSL. Несмотря на то, что спецификация не требует обязательного использования SSL, все веб-браузеры выпущенные на текущий момент будут работать с HTTP/2 только если веб-сайт использует SSL.
Читать дальше →
Всего голосов 24: ↑12 и ↓12 0
Просмотры78.4K
Комментарии 36

Итоги 2015: веб-разработка

GeekBrainsРазработка веб-сайтовJavaScriptNode.JS
Представители КРОК, Traffic Inspector, WebMoney Transfer и Softline рассказали, что принес 2015-й год в сферу веб-разработки. Эксперты перечислили важнейшие события индустрии и отметили основные тренды уходящего года.



Ключевые события и тренды


2015-й – это год утверждения стандарта HTTP/2 (предыдущая версия протокола была принята в 1999). Это год массового перехода на стандарт HTML-5 с устаревшего Flash, который уже не поддерживается большинством современных браузеров. Это год появления WebAssembly, который в дальнейшем позволит перенести требовательные к производительности приложения в Web, что по мнению Сергея Дорогина, ведущего инженера-разработчика Департамента информационных технологий компании КРОК, означает “начало нового мира”.

Большинство тенденций уходящего года в сфере веб-дизайна, связаны с ростом популярности гаджетов и распространением мобильного интернета. Среди них такие как использование адаптивной верстки вместо создания отдельной мобильной версии сайта. Один из основных трендов – минималистичный дизайн, заданный Apple, помимо этого эксперты пророчат долгоиграющую популярность материальному дизайну от Google.
Читать дальше →
Всего голосов 10: ↑7 и ↓3 +4
Просмотры17.1K
Комментарии 4

Вафли против технологий на FOSDEM 2016

Mail.ru GroupOpen sourceOpenStreetMap


О конференции FOSDEM я узнал примерно в ноябре, когда в рассылку OpenStreetMap пришло предложение заявлять доклады на поток Geospatial. Отправил заявку про мобильные редакторы карты (в число которых скоро войдёт MAPS.ME), в декабре её подтвердили, и Mail.Ru Group отправила меня в командировку. Поскольку это мой первый раз, в теме опенсорса я «маску на стройке нашёл» и никого не знаю, вместо плодотворного общения со знакомыми, на что уходит примерно половина времени на осмерских конференциях State of the Map, писал заметки, чтобы потом оформить в этот текст. Под катом много слов и фотографий.
Читать дальше →
Всего голосов 28: ↑26 и ↓2 +24
Просмотры4.9K
Комментарии 16

HTTP/2: готовимся к переходу

SelectelРазработка веб-сайтов
HTTP/2

В прошлом году в мире сетевых технологий произошло очень важное событие: была утверждена и стандартизирована новая версия протокола HTTP — HTTP/2. HTTP/2 уже поддерживается в популярных веб-серверах: Apache и Nginx. Идёт работа по внедрению HTTP/2 в IIS. Реализована поддержка и в большинстве современных браузеров.

Использование HTTP/2 за последнее время существенно расширилось.
Читать дальше →
Всего голосов 56: ↑55 и ↓1 +54
Просмотры129.8K
Комментарии 92

Анонс NGINX 1.10 и 1.11

Nginx
Перевод
Disclaimer: оригинальная статья, перевод которой здесь представлен, служит цели объявить о выходе новых старших версий продукта, рассказать в целом о политике версионирования и успехах за прошедший год. Если вас интересуют сухие технические подробности, то рекомендую смотреть полный лог изменений, либо его выжимку с кратким пояснением в конце статьи.

Мы рады представить NGINX 1.10 и 1.11. Эти номера версий обозначают стабильную (stable) и основную (mainline) ветки бесплатных открытых выпусков, над которыми мы сфокусируем наши усилия на протяжении следующих 12 месяцев.

NGINX версии 1.10.0 уже вышел, а будущий выпуск основной ветки будет под номером 1.11.0.
Читать дальше →
Всего голосов 43: ↑43 и ↓0 +43
Просмотры24.4K
Комментарии 36

Nginx + OpenSSL 1.0.2h = ALPN. Включаем поддержку ALPN на Ubuntu 14.04

Разработка веб-сайтовСистемное программирование
Tutorial
Итак, вкратце опишу суть проблемы: если вы используете HTTP/2 на базе Nginx и Ubuntu 14.x-, то с 31 мая HTTP/2 в Chrome работать перестанет. Но решить проблему достаточно просто.
Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Просмотры18.5K
Комментарии 13

Релиз CleverStyle Framework 4

CMSРазработка веб-сайтовPHP
Как-то не получалось писать более одной статьи от начала новой ветки (часть 1, часть 2, часть 3), но вот опять есть чего интересного рассказать, ведь вышел первый релиз серии 4.х.

Вкратце обо всём


Первое что хотелось бы сказать — проект был переименован из CleverStyle CMS в CleverStyle Framework. Наконец-то! Больше не будет путаницы между названием и содержимым.

Если серия 2.х началась с существенных изменений на стороне сервера, а 3.х с сопоставимых изменений на клиенте, то 4.х приносит улучшения везде.

На сервере существенно увеличена скорость работы, при том что это full-stack фреймворк, используя HTTP сервер основанный на ReactPHP можно получить скорость генерации страницы НИЖЕ 1мс, быстрее стала генерация HTML в типичных сценариях.
Так же добавилась удобная поддержка вложенных структур в файлах переводов, добавилась поддержка SQLite, PostgreSQL, поддержка работы в качестве PSR7 Middleware (инициализация из PSR7-совместимого request объекта и выдача результата в PSR7-совместимый response объект) и связанные с этим удобные абстракции в самом ядре.

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

На стыке backend и frontend оптимизации построения кэша статики (CSS/JS/HTML), HTTP/2 Server push, Link: <preload> и много другого.

В целом система выглядит как хороший гибридный (не чисто микроядерный, но и не жирный такой) full-stack php фреймворк.

Как всегда, не обошлось без улучшения метрик кода, например, оценки Scrutinizer:)
Читать дальше →
Всего голосов 12: ↑10 и ↓2 +8
Просмотры6.3K
Комментарии 51

Реализуем http/2 server push с помощью nghttp2

Высокая производительностьРазработка веб-сайтов
Всем привет, сегодня я расскажу о том, как настроил server push на своём сайте и добился увеличения скорости рендеринга страниц. Для начала о том, что же такое server push в HTTP/2. Это технология, позволяющая серверу «протолкнуть» дополнительные данные клиенту, в момент запроса основного документа. То есть в обычной ситуации запрашивает браузер html-страничку, затем обрабатывает её и приходит к выводу, что ему для корректного отображения необходимо подгрузить дополнительные файлы: стили, скрипты, изображения. После чего скачивает их и отображает конечный результат. Server push позволяет отправить дополнительные файлы уже в момент получения основного документа, и они уже будут иметься в кэше, когда они потребуются браузеру. За счёт этого возрастает скорость загрузки сайта.

На этот раз схема будет следующая:



Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры18.1K
Комментарии 20

Как HTTP/2 сделает веб быстрее

NIXРазработка систем связи
Перевод


Протокол передачи гипертекста (HTTP) — это простой, ограниченный и невероятно скучный протокол, лежащий в основе Всемирной паутины. По сути, HTTP позволяет считывать данные из подключённых к сети ресурсов, и в течение десятилетий он выступает в роли быстрого, безопасного и качественного “посредника”.
В этой обзорной статье мы расскажем об использовании и преимуществах HTTP/2 для конечных пользователей, разработчиков и организаций, стремящихся использовать современные технологии. Здесь вы найдёте всю необходимую информацию о HTTP/2, от основ до более сложных вопросов.
Читать дальше →
Всего голосов 35: ↑22 и ↓13 +9
Просмотры36.7K
Комментарии 41

Сигнальные и транспортные протоколы WebRTC: срываем покровы

VoximplantРазработка веб-сайтовПрограммированиеБраузеры
Перевод
Наша платформа VoxImplant состоит из нескольких частей: облако, API, SDK для разных платформ. SDK для браузера подключается к облаку по WebSocket и позволяет звонить (и принимать звонки) как другим пользователям VoxImplant, так и на обычные телефоны. Раньше это работало с помощью flash, но в современных браузерах используется специально созданная для работы с голосом и видео технология WebRTC. Штука хорошая, но довольно сложная в использовании: возможность peer-to-peer коммуникаций, одна из ключевых «фишек» технологии, управляется полностью вручную. Чтобы два браузера могли организовать голосовой или видеочат друг с другом, разработчику нужно собрать информация об IP-адресах компьютеров, как-то передать эту информацию между браузерами, запустить NAT Traversal и скормить это все WebRTC. А если обойти NAT не получилось, то еще и предоставить Relay-сервер для передачи данных.

Недавно мы нашли на просторах интернета интересную статью, которая рассказывает технические подробности «передачи информации» между браузерами. Адаптированный для Хабра перевод – под катом.
Читать дальше →
Всего голосов 25: ↑22 и ↓3 +19
Просмотры9.4K
Комментарии 6

Путь к HTTP/2

Разработка веб-сайтовIT-стандарты

От переводчика: перед вами краткий обзор протокола HTTP и его истории — от версии 0.9 к версии 2.


HTTP — протокол, пронизывающий веб. Знать его обязан каждый веб-разработчик. Понимание работы HTTP поможет вам делать более качественные веб-приложения.


В этой статье мы обсудим, что такое HTTP, и как он стал именно таким, каким мы видим его сегодня.

Читать дальше →
Всего голосов 36: ↑33 и ↓3 +30
Просмотры73K
Комментарии 57

HTTP/2 уже здесь но спрайт-сеты ещё не умерли

Разработка веб-сайтовCSSHTMLIT-стандарты
Перевод

В этом исследовании мы показываем, что даже если новый HTTP/2 протокол значительно улучшает скорость загрузки страницы, время для полного отказа от фронт-энд оптимизаций ещё не наступило. Сегодня мы сосредоточимся на спрайт-сетах.


HTTP/2 стал доступен в 2015, как альтернатива к замене многоуважаемого HTTP/1.1, используемого с 1997. Многие авторы предсказывают устаревание или, даже, контрпродуктивность фронт-энд оптимизаций. В список классических оптимизаций входят спрайты: группировка множества маленьких изображений (спрайтов) в одно большое (спрайт-сет).

Несмотря на быстрое внедрение поддержки и в браузерах и в серверах (вики, w3techs), мы не смогли найти опубликованные сравнительные замеры для подтверждения утверждения (прим. того, что спрайты больше не нужны). Как веб-архитекторы, тогда, мы естественно, интересовались, следует ли нам отказаться от подхода спрайтов или нет. Как гласит известная цитата Уильяма Эдвардса Деминга: “In God we trust, all others bring data”. Поэтому мы сделали свой собственный бенчмарк.


Первая часть этой статьи описывает основные отличия между HTTP/1.x и 2 и почему они могут способствовать устареванию спрайтов. Во второй части мы покажем сравнительные результаты бенчмарка.

Читать дальше →
Всего голосов 20: ↑18 и ↓2 +16
Просмотры16.6K
Комментарии 41

Moscow JS Meetup в Badoo

BadooРазработка веб-сайтовCSSJavaScript


Рады сообщить, что 24-го сентября в Badoo пройдет Moscow JS Meetup.


Программа


«Что надо знать о HTTP/2», Александр Майоров (Tutu.ru)

Протокол HTTP/2 обещает ускорение загрузки страниц и очень активно продвигается. Так ли это и какую пользу от протокола могут получить Frontend разработчики? Стоит ли переходить на новый протокол? В качестве киллер фичи заявлена поддержка Server push. Что это и как этим пользоваться? Эти и другие вопросы будут освещены в докладе.

Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры4.2K
Комментарии 10

Видео докладов с митапа MoscowJS в Badoo

BadooРазработка веб-сайтовCSSJavaScriptПрограммирование


24-го сентября в Badoo прошел MoscowJS Meetup. Настало время выложить видео докладов.

Познавательного Вам просмотра!
Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Просмотры9K
Комментарии 1

Система сборки фронтенда в CleverStyle Framework или почему вам может быть не нужна кастомная

CMSРазработка веб-сайтовPHP

CleverStyle Framework всячески помогает разработчику не только на сервере, но и на фронтенде. Я об этом несколько раз упоминал в прошлых статьях, но никогда не вдавался в подробности того, как именно всё устроено под капотом.


Данная статья будет погружением в подробности работы со статикой для фронтенда, начиная от того как определяются файлы нужные на странице и заканчивая оптимизациями доставки статики вроде HTTP/2 Server Push. Не забудем и о том, почему с использованием CleverStyle Framework можно обойтись без кастомной системы сборки и как при желании интегрировать такую систему сборки в процессы фреймворка.


Данная статья специально упускает из внимания интеграцию Bower/NPM и RequireJS, это будет тема отдельной статьи в недалеком будущем.

Читать дальше →
Всего голосов 8: ↑6 и ↓2 +4
Просмотры3.5K
Комментарии 13

«Быстрорастворимый» фронтенд. Лекция в Яндексе

ЯндексJavaScriptКлиентская оптимизацияИнтерфейсы
Ускорить доставку элементов фронтенда на устройство пользователя можно несколькими способами. Разработчик Артём Белов из самарского офиса норвежской компании Cxense попробовал самые многообещающие: HTTP/2, Server Push, Service Worker, а также оптимизацию в процессе сборки и на стороне клиента. Итак, что же нужно сделать, чтобы сократить время отклика приложения до минимума?


Выясняется, что алгоритмы сжатия существуют уже давно. Это произошло где-то в июне — видимо, где-то над Самарой пролетал метеорит и идея проверить новые алгоритмы сжатия, Zopfli и Brotli, пришла мне и парню из соседней компании. Больше чем уверен, вы читали его статью, это Александр Субботин. Статья разошлась на Medium, и он известен, а я нет.

Читать дальше →
Всего голосов 71: ↑68 и ↓3 +65
Просмотры23.5K
Комментарии 21

Будущее интернет-протоколов

Сетевые технологииРазработка систем связиСтандарты связи
Перевод
Автор — Марк Ноттингем, член Internet Architecture Board и сопредседатель рабочих групп IETF по HTTP и QUIC


Когда Интернет стал популярным в 90-е годы, то основному трафику хватало всего нескольких протоколов: IPv4 маршрутизировал пакеты, TCP превращал их в соединения, SSL (позже TLS) шифровал эти соединения, DNS именовал хосты для подключения, а HTTP как прикладной протокол часто использовал их все.

За многие годы эти ключевые интернет-протоколы изменились совсем незначительно: в HTTP добавилось несколько новых заголовков и методов, TLS медленно сменил пару минорных версий, TCP приспособился к управлению заторами, а в DNS появились функции вроде DNSSEC. Сами протоколы в работе оставались практически неизменными очень долгое время (кроме IPv6, который уже получает достаточное внимание в сообществе операторов связи).

В результате операторы связи, вендоры и государственные органы, которые стремятся понять (а иногда и контролировать) Интернет установили некоторые практики на основании функциональности этих протоколов — для отладки, улучшения качества сервиса или соблюдения законодательства.

Теперь ключевые интернет-протоколы претерпят серьёзные изменения. Хотя они в целом должны быть совместимы с нынешним Интернетом (иначе не получат распространения), но это может иметь разрушительные последствия для тех, кто осмелился использовать недокументированные свойства протоколов или сделал предположение о неизменности протоколов в будущем.
Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Просмотры11.9K
Комментарии 5
1