Если вы хотите, чтобы ваши конечные пользователи получали контент в сжатом виде, вы можете настроить сжатие на источнике или воспользоваться предложенными ниже опциями сжатия на CDN.
Важно! Если в запросе к CDN браузер пользователя не отправляет заголовков с перечислением поддерживаемых форматов сжатия, например «Accept-Encoding: gzip, deflate, br», контент отдается без сжатия.
Сжатие на CDN: GZip и Brotli
CDN-серверы поддерживают «Сжатие GZip» и «Сжатие Brotli». При этом с источника всегда будет запрашиваться несжатая версия файла.
По умолчанию эти опции выключены. Для включения раскройте «Дополнительные настройки», найдите раздел «Контент», нажмите на кнопку «Добавить опцию», выберите один из вариантов сжатия файлов.
Включите нужную опцию и сохраните изменения.
Сжатие GZip
Gzip — метод сжатия данных. Степень сжатия при использовании GZip обычно 70%, но может достигать и 90%.
Расширения файлов, поддерживающих GZip-сжатие:
- application/javascript.
- application/json;
- application/x-javascript;
- application/xml;
- application/xml+rss;
- text/css;
- text/html;
- text/javascript;
- text/plain;
- text/xml;
- image/svg+xml;
Форматы файлов изображений (jpeg, jpg, png), а также видеоролики, PDF-файлы и другие двоичные форматы уже сжаты. Использование GZip на них не предоставляет дополнительных преимуществ, наоборот, увеличивает размер файлов, что добавляет нагрузку на их распаковку.
Опция «Сжатие GZip» не работает совместно с опцией «Запрашивать сжатие на источнике».
Сжатие Brotli
Brotli – алгоритм сжатия данных в несколько раз превосходящий по степени сжатия GZip метод. Минимальный размер файла, который может быть сжат - 128 байт.
При активации этой опции сжатие выполняется на шилдинге источника. Если для ресурса не используется прекеш-сервер, сжатие не происходит, даже если опция сжатия включена.
Для активации опции «Шилдинг» обратитесь в поддержку.
В поле «Типы данных» можно самостоятельно задать типы сжимаемого контента. Некоторые расширения уже выбраны по умолчанию:
- application/javascript
- application/json
- application/x-javascript
- application/xml
- application/xml+rss
- text/css
- text/html
- text/javascript
- text/plain
- text/xml
Также доступны:
- application/vnd.ms-fontobject
- application/x-font-ttf
- image/x-icon
- image/svg+xml
Вы можете добавлять и удалять все указанные выше типы, за исключением «text/html», данный тип выбран всегда и его нельзя удалить.
Опция «Сжатие Brotli» не работает совместно с опцией «Запрашивать сжатие на источнике».
Сжатие Brotli + Сжатие GZip
Вы можете активировать оба варианта сжатия контента одновременно.
Метод сжатия данных будет зависеть от типа обрабатываемого файла, настроек в опции «Сжатие Brotli» и того, поддерживает ли браузер пользователя тот или иной тип сжатия.
Если выбранные MIME-типы в опции «Сжатие Brotli» совпадают с расширениями файлов по умолчанию для опции «Сжатие GZip», алгоритм сжатия Brotli будет иметь больший приоритет, но только в том случае, если браузер пользователя поддерживает такой тип сжатия.
Если в настройках опции «Сжатие Brotli» будет отсутствовать MIME-тип, который в то же время поддерживается методом сжатия Gzip, файлы данного расширения будут сжиматься по методу GZip.
Например, вы активировали обе опции. В «Типах Данных» опции «Сжатие Brotli» указали «text/html» и «application/json».
Когда пользователь запрашивает файл, например с расширением «text/html», при обращении к CDN браузер отправляет соответствующие заголовки с перечислением поддерживаемых форматов сжатия.
При условии, что браузер пользователя поддерживает сжатие по алгоритму Brotli, контент будет сжат на шилдинге источника, т.к. несмотря на поддержку этих MIME-типов методом сжатия GZip, алгоритм сжатия Brotli имеет больший приоритет.
! Если браузер не поддерживает сжатие Brotli, файлы будут сжаты по методу GZip.
Если пользователь запросит файл с расширением «application/x-javascript», данные будут сжаты на CDN по методу GZip, т.к. в параметрах опции «Сжатие Brotli», в данном случае, такое расширение отсутствует.
Описанный выше вариант взаимодействия опций «Сжатие Brotli» и «Сжатие GZip» осуществим только при наличии включенной опции «Шилдинг».
Для активации опции «Шилдинг» обратитесь в поддержку.
Взаимодействие основных настроек сжатия и правил ресурса
1. При активной опции «Запрашивать сжатие на источнике» в основных настройках ресурса, активировать опции «Сжатие Gzip», «Сжатие Brotli» или обе опции, в правилах ресурса невозможно.
2. Чтобы сжатие всех файлов происходило на CDN по выбранному методу сжатия, а для файлов, попадающих под правила, запрашивалось сжатие на источнике, необходимо в основных настройках ресурса включить опции «Сжатие Gzip», «Сжатие Brotli» или обе опции, а в правилах ресурса установить «Запрашивать сжатие на источнике».
3. Чтобы настроить сжатие всех файлов на источнике, а для файлов, попадающих под правила, установить сжатие по одному из методов, необходимо в основных настройках ресурса включить опцию «Запрашивать сжатие на источнике», а в настройках правила добавить опцию «Запрашивать сжатие на источнике», но оставить ее выключенной, затем добавить и включить необходимый метод сжатия («Сжатие Gzip», «Сжатие Brotli» или обе опции).