Сжатие. Настроить сжатие на CDN (GZip, Brotli)

Последние изменения: 16.02.2023

Сжатие на CDN: GZip и Brotli
Сжатие GZip
Сжатие Brotli
Сжатие Brotli + Сжатие GZip
Взаимодействие основных настроек сжатия и правил ресурса

Если вы хотите, чтобы ваши конечные пользователи получали контент в сжатом виде, вы можете настроить сжатие на источнике или воспользоваться предложенными ниже опциями сжатия на CDN.

Важно! Если в запросе к CDN браузер пользователя не отправляет заголовков с перечислением поддерживаемых форматов сжатия, например Accept-Encoding: gzip, deflate, br, контент отдаётся без сжатия.

Сжатие на CDN: GZip и Brotli

CDN-серверы поддерживают Сжатие GZip и Сжатие Brotli. При этом с источника всегда будет запрашиваться несжатая версия файла.

По умолчанию эти опции выключены. Для включения перейдите в настройки CDN-ресурса, нажав на CNAME нужного ресурса в списке. В разделе Контент выберите один из вариантов сжатия файлов, передвинув нужный переключатель. Включите опцию и сохраните изменения.

Сжатие GZip

9879bfe92bca090bad736385f1fa9579.png

Gzip — метод сжатия данных. Степень сжатия при использовании GZip обычно составляет 70%, но может достигать и 90%. Минимальный размер файла, который может быть сжат - 128 байт.

Расширения файлов, поддерживающих 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

f7a1b50355b41db6b617b1ffd5b170fa.png

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.

6017d515c660cb144a3990fc75af8619.png

Когда пользователь запрашивает файл, например с расширением text/html, при обращении к CDN браузер отправляет соответствующие заголовки с перечислением поддерживаемых форматов сжатия.

При условии, что браузер пользователя поддерживает сжатие по алгоритму Brotli, контент будет сжат на шилдинге источника, т.к. несмотря на поддержку этих MIME-типов методом сжатия GZip, алгоритм сжатия Brotli имеет больший приоритет.

! Если браузер не поддерживает сжатие Brotli, файлы будут сжаты по методу GZip.

Если пользователь запросит файл с расширением application/x-javascript, данные будут сжаты на CDN по методу GZip, т.к. в параметрах опции Сжатие Brotli, в данном случае, такое расширение отсутствует.

Описанный выше вариант взаимодействия опций Сжатие Brotli и Сжатие GZip осуществим только при наличии включенной опции Шилдинг источника.

Для активации опции Шилдинг источника обратитесь в поддержку.

Взаимодействие основных настроек сжатия и правил ресурса

d4436dbf4b7687f7361df6dc3981d02f.png

1. При активной опции Запрашивать сжатие на источнике в основных настройках ресурса, активировать опции Сжатие Gzip, Сжатие Brotli или обе опции в правилах ресурса невозможно.

210a4dd4952fd93e2443011c78e94107.png

2. Чтобы сжатие всех файлов происходило на CDN по выбранному методу сжатия, а для файлов, попадающих под правила, запрашивалось сжатие на источнике, необходимо в основных настройках ресурса включить опции Сжатие Gzip, Сжатие Brotli или обе опции, а в правилах ресурса установить Запрашивать сжатие на источнике.

3. Чтобы настроить сжатие всех файлов на источнике, а для файлов, попадающих под правила, установить сжатие по одному из методов, необходимо в основных настройках ресурса включить опцию Запрашивать сжатие на источнике, а в настройках правила добавить опцию Запрашивать сжатие на источнике, но оставить ее выключенной, затем добавить и включить необходимый метод сжатия (Сжатие Gzip, Сжатие Brotli или обе опции).

e7803a6e94a7aaa7def836c2ce5b32bd.png

Помогла ли вам статья?