Представлен релиз mod_pagespeed 1.2, развиваемого компанией Google модуля для http-сервера Apache, предназначенного для автоматической оптимизации сайта с целью увеличения отзывчивости и пропускной способности при отдаче контента. Для решения указанной задачи модулем поддерживается более 40 фильтров для оптимизации web-страниц и сопутствующих ресурсов, таких как CSS, JavaScript и файлов с изображениями. Оптимизация производится в полностью прозрачном режиме и не требует изменения содержимого сайта. Код модуля распространяется под лицензией Apache.
Большинство из используемых в mod_pagespeed методов направлены на увеличение эффективности кэширования на стороне клиента, сокращение числа запросов/ответов и уменьшение размера отдаваемых и принимаемых данных. Встроенные механизмы кэширования сводят к минимуму дополнительную нагрузку на сервер, возникающую в процессе работы модуля, минимизируя число случаев, требующих выполнения преобразований на лету. В качестве примеров используемых в mod_pagespeed техник можно привести оптимизацию и сжатие изображений, уменьшение разрешения изображений (если не совпадают фактическое разрешение и указанное теге IMG), удаление избыточных данных из JavaScript-кода и CSS, удаление лишних HTML-тэгов, объединение нескольких JavaScript/CSS-файлов, оптимизация использования заголовков Expires, Cache-Control и Last-Modified.
Среди добавленных улучшений:
- Канонизация JavaScript-библиотек - вместо загрузки типовых JavaScript-библиотек c текущего сервера, организуется их загрузка из централизованного сервиса, такого как Google Hosted Libraries, что позволяет повысить вероятность нахождения кода данных библиотек в кэше браузера (скорее всего данная библиотека была запрошена ранее, при работе с сайтами использующими ajax.googleapis.com). Возможность направлена на увеличение эффективности кэширования при первом входе пользователя на сайт;
- Предварительное разрешение имён в DNS - для ускорения обращения к внешним ресурсам в начало HTML-файла добавляется блок 'link rel="dns-prefetch"' для предварительного определения DNS-имён, используемых на странице, что позволяет обеспечить добавление данных об этих именах в кэш браузера на ранней стадии обработки документа, до того как эти имена будут востребованы. Свойство dns-prefetch поддерживается браузерами Chrome, Firefox и Internet Explorer;
- Для ускорения отображения контента добавлен фильтр для преобразования JPEG файлов в прогрессивный формат, при которого картинка сразу показывается без детализации, ещё до окончании загрузки;
- Добавлена возможность оптимизации внешних ресурсов, размещённых на сторонних сайтах, mod_pagespeed при этом выступает в роли прокси-оптимизатора.