Эксперимент: сжатие данных через SPDY Proxy в Google Chrome для Android

UPD. Сжатие данных теперь доступно и для десктопной версии: официальное расширение.

Совсем недавно ХРОМ.РФ рассказал вам о том, что команда разработчиков Google Chrome для Android решила встроить в браузер сжатие данных через свой промежуточный сервер. Экспериментальная поддержка этого функционала уже доступна в Google Chrome 26 Beta для Android, которая была выпущена сегодня.

Реализация

Основная оптимизация, которая и позволяет нам сэкономить трафик и увеличить скорость, выполняется на стороне сервера Google. Когда функция сжатия включена, Google Chrome устанавливает выделенное соединение по протоколу SPDY со специальным сервером Google. И весь трафки с HTTP ресурсов будет идти через это соединение.

Сжатие данных через SPDY Proxy

Все данные, отправляемые нам сайтами через HTTP проходят через этот SPDY Proxy сервер и оптимизируются. В то время, как все данные от защищенных сайтов (HTTPS) будут идти к нам напрямую.

При этом оптимизация контента происходит за счет использования открытой библиотеки PageSpeed, которую уже давно продвигают в Google (вот мод для Apache, а вот и расширение для разработчиков). А также использование протокола SPDY позволяет увеличить скорость соединения.

Кстати, оценить экономию трафика тоже достаточно легко. Смотрим скриншот и понимает на какую страницу нужно зайти, чтобы увидеть эффект.

Увеличение скорости соединения

Как уже было сказано выше, для соединения с сервером Google используется протокол SPDY, который в отличие от стандартного протокола позволяет осуществлять передачу нескольких запросов и ответов в рамках одного TCP соединения. А это экономит время, а значит увеличивает скорость. Есть экспериментальные данные о том, что в ряде случаев это ускоряет загрузку страниц аж на 23%!

Есть и некоторые другие плюсы от использования протокола SPDY:

  • Т.к. к DNS серверам теперь обращается не ваш телефон, а сервер Google, то и тут получаем экономию времени.
  • Т.к. общее количество сетевых соединений уменьшается, то это экономит заряд аккумулятора вашего смартфона.

Сжатие контента

А теперь уже рассмотрим сжатие контента на сервере за счет использования PageSpeed.

1. Прежде всего, оптимизация всех изображений за счет перекодирования в формат WebP, который в ряде случаев позволяет добиться экономии в 60%.

2. Не меньшее значение имеет и оптимизация HTML, Javascript и CSS. Код сжимается за счет удаления пустых мест, комментариев, метаданных (которые не нужны для рендеринга страницы) и применения технологии gzip.

Итог

В результате применения SPDY Proxy сервера удается не только сжать содержимое страниц, но и ускорить и даже зашифровать передачу уже сжатых данных. Отличный комплексный подход!

Как включить эксперимент?

Достаточно включить эксперимент "Enable Data Compression Proxy" на специальной странице chrome:flags.

SPDY Proxy против Opera Turbo

Opera 14 beta и Google Chrome 26 beta доступны для Android. И там и там есть режим сжатия и ускорения данных. Статистика доступна и там и тут. Так что предлагаю всем желающим начать тестирование и сравнение технологий. Что жмет лучше? Что быстрее?