Skip to content
На этой странице:

Раздел Контент

HTTP-код ответа для размещённого в CDN контента

Данная опция позволяет настроить отдачу выбранного HTTP-кода для контента, размещенного в CDN. Она полезна, если необходимо, чтобы пользователям при запросе определенного файла отдавался, например, код 403. Или для настройки редиректа на другой URL.

Функция доступна в дополнительных настройках СDN-ресурса и разделе Правила.

Чтобы активировать данную опцию:

  • перейдите в дополнительные настройки
  • перейдите в раздел Контент
  • включите опцию Задать код ответа

  • в поле Код ответа введите код
  • укажите URL для редиректа или текст для кода ответа, если это необходимо

Примечание

  1. В поле можно ввести только один код.
  2. При активации опции Код ответа в дополнительных настройках ресурса, опция будет применена ко всему контенту.

Оптимизация доставки. Включение оптимизации доставки больших файлов

Данная функция необходима для ускорения кэширования файлов больших размеров. Файл будет запрашиваться и храниться в кэше частями по 10 МБ. Источник должен поддерживать HTTP Range request.

Пример:

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

Если запрос был Range: bytes=123537047-123545047, то с источника CDN заберет в диапазоне bytes 115343360-125829119 и закэширует эту часть файла. При этом пользователю отдастся запрашиваемый им диапазон 123537047-123545047.

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

  • настройка применяется ко всем файлам CDN-ресурса, что приведет к увеличению нагрузки на сервер-источник
  • для корректной работы опции необходимо чистить кэш после каждого обновления файла на источнике
  • если для ресурса используется группа источников, файлы на каждом из используемых источников должны содержать одинаковые заголовки Content-Length и Etag

Настройка Rewrite для перенаправления запросов

Настройка Rewrite используется для изменения и перенаправления пути запроса. Опция работает в соответствии с конфигурацией nginx.

Для активации опции:

  • перейдите в дополнительные настройки
  • перейдите в раздел Контент
  • включите опцию Включить Rewrite

Примечание

Rewrite также доступен в разделе Правила.

  • в поле Rewrite body после активации опции отображаются значения, заданные по умолчанию
  • очистите поле и введите через пробел две директивы:
    • путь, к которому будет применяться Rewrite
    • на что должен меняться указанный путь; используйте регулярные выражения

Настройка Rewrite

Пример:

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

Предположим, ваш источник example.com. Необходимо забирать контент из директории example.com/media/.

В таком случае пропишите в поле Rewrite следующие параметры: /(.*)/media/$1, где:

  • /(.*) — к чему применяется Rewrite; группа переменных (.*) позволяет применить Rewrite ко всем возможным вариантам того, что будет идти после / в example.com/
  • /media/ — директория, в которую будут уходить запросы
  • $1 — порядковый номер группы переменных; если групп больше одной, то следующие номера будут $2, $3 и так далее

Флаг break применяется к опции по умолчанию и не отображается в поле. Применить к опции другие флаги можно через API.

Примечание

Для получения подробной информации об API-документации обратитесь в службу технической поддержки CloudMTS по адресу support@cloud.mts.ru.

Настройка сжатия на CDN (GZip, Brotli)

Если требуется, чтобы конечные пользователи получали контент в сжатом виде, возможно настроить сжатие на источнике или воспользоваться предложенными ниже опциями сжатия на 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 осуществим только при наличии включенной опции Шилдинг.

Важно

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

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

Важно

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

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

Настройка сжатия на источнике

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

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

Активация опции Запрашивать сжатие на источнике доступна в настройках ресурса раздела Контент.

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

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

Важно

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

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

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

  • CDN-серверы не будут разжимать контент при доставке пользователю даже при условии, если браузер клиента не поддерживает сжатие; такие случаи маловероятны
  • опция не работает совместно с опцией Сжатие GZip, так как они являются взаимоисключающими

Сжатие без настроек на 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-серверов будет храниться несжатая версия файла. Вне зависимости от того, запрашивает ли конечный пользователь сжатие или нет, из кэша будет отдаваться несжатый файл.