Схема сжатия данных

HTML в 2 раза меньше в Айри

Одна из основных задач Айри — максимально ускорить отображение вашего сайта на всех устройствах. Это достигается, в том числе, за счет сжатия данных и исключения из них всей ненужной для браузера информации. Технологии Айри позволили существенно сократить размер страниц сайтов, даже в сжатом виде разница между исходными страницами и страницами в Айри составила 49,2% (почти в 2 раза меньше).

Как это достигается?

Gzip — наше все!

Еще 7 лет назад был выработан подход для максимального сокращения размера текстовых страниц — это сжатие и минимизация файлов. В тестах сжатие и минимизация показала выигрыш до 83% от исходных (несжатых) файлов (сжатие JavaScript, сжатие HTML, сжатие CSS). В частности, для статического сжатия файлов при помощи максимальной степени gzip (9) использовался следующий подход:

gzip -c -n -9 файл > файл.gz

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

Минимизация

Утилиты минимизации файлов, равно как и спецификации HTML, CSS, JavaScript уже давно устоялись и могут быть применены для большинства сайтов без каких-либо побочных эффектов. При этом нотация HTML5 предполагает значительное сокращение HTML-кода за счет удаления лишних кавычек и пробелов. Но этим почти не пользуются. Айри исправляет эту ситуацию.

Как показала практика, применение HTML-минимизации (в совокупности с минимизацией встроенного JavaScript и CSS кода) позволяет, как минимум, на треть сократить объем передаваемой информации. На 30%!

Zopfli — новое слово в архивации данных

Технологии сжатия тоже не стояли на месте, и был разработан алгоритм максимальной оптимизации размера архива (LZ77) — zopfli. По синтетическим тестам, zopfli давал выигрыш еще на 5% относительно уже сжатого файла (т.е. простой gzip может быть существенно улучшен путем поиска наиболее оптимального представления сжатой информации).

Если соединить все технологии вместе — то должна получиться настоящая сенсация, кардинально уменьшающая размер исходных файлов.

Результаты

Так и получилось. Выигрыш относительно исходного (сжатого) состояния для выборки из 100 сайтов, обслуживающихся в Айри, составил 49,2% (почти двукратное уменьшение размера). При этом веб-страницы запрашивались с исходного хостинга в сжатом виде. Для несжатого представления выигрыш еще больше — 86,4%.

Исходный размер (несжатый) Исходный размер (с хостинга) Минимизация + gzip Минимизация + zopfli
Размер 9 935 643 2 670 320 1 415 524 1 355 291
Выигрыш +372,1% 0% -47% -49,2%

На текущий момент, большинство сайтов уже отдают страницы и файлы в сжатом виде — этим достигается почти 4-кратное уменьшение размера исходных файлов (2,5 Мб против 10 Мб). Но этот результат можно улучшить еще вдвое — за счет технологий экстремального сжатия Айри, позволяющих сократить размер файлов еще вдвое (суммарный выигрыш в размере 86,4%).