Сжатие. Настроить сжатие на источнике

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

Cжатие на источнике
Сжимать без настроек на CDN

Cжатие на источнике

Опция Cжатие на источнике позволяет сократить полосу между сервером-источником и CDN-серверами и увеличить скорость отдачи контента за счет сокращения времени на сжатие файла на стороне CDN. 

Активировать опцию Cжатие на источнике можно в настройках ресурса в разделе Контент

d822da9c8e2197230ead641e08dafb03.png


Если опция активна, CDN-серверы забирают с вашего сервера-источника сжатый контент.  

Cжатие на серверe-источнике должно происходить по методу GZip

Обратите внимание!  

Если на сервере-источнике сжатие происходит по методу Brotli, CDN забирает несжатый контент, если не настроено иного.  

Если на сервере-источнике настроено сжатие Brotli, но вы хотите, чтобы CDN забирал сжатый контент, необходимо настроить источник так, чтобы при запросе файла Gzip он отправлял файл Brotli.  

Особенности опции 

  • CDN-серверы не будут разжимать контент при доставке пользователю, даже если браузер клиента не поддерживает сжатие, но такие случае маловероятны. 

  • Опция не работает совместно с опцией Сжатие GZipСжатие Brotli и Оптимизация доставки больших файлов, т.к. они являются взаимоисключающими.  

Сжимать без настроек на CDN 

Источник поддерживает сжатие 

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

На источнике должны быть настроены два HTTP-заголовка Vary: Accept-Encoding и Content-Encoding.

При обработке запроса от конечных пользователей CDN-серверы проверяют HTTP-заголовок Accept-Encoding. Если в заголовке содержится gzip и/или deflate, br, означающие возможность браузера обрабатывать сжатый контент, CDN запросит с источника сжатую версию файла. Если таких директив нет, сервер отдаст несжатый файл. 

Если на сервере не настроен заголовок Vary: Accept-Encoding, в CDN закешируется файл, который был первым запрошен (сжатый или нет). Это может вызывать сложности с отображением контента у конечного пользователя.  

Например, нужно чтобы из CDN был отдан несжатый файл, а в кеше только сжатый, тогда пользователь получит сжатый файл, а браузер не сможет его отобразить. 

Если заголовок Vary: Accept-Encoding настроен, в кеше CDN-серверов хранятся две версии файла.  

Источник не поддерживает сжатие 

В кеше CDN-серверов будет храниться несжатая версия файла. Независимо от того, запрашивает ли конечный пользователь сжатие или нет, из кеша будет отдаваться несжатый файл.  

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