В личном кабинете можно задать время хранения контента в кеше CDN-серверов. После того, как время жизни кеша истечет, CDN-серверы снова обратятся на источник. Если CDN-серверы определят, что файл на источнике не изменился, то они будут отдавать тот же самый файл еще один период времени жизни кеша. Если файл изменился, то CDN-серверы закешируют новый файл.
У опции есть два варианта работы:
- Задать настройки на CDN
- Использовать настройки источника
Задать настройки на CDN
Используйте эту опцию, если на сервере-источнике нет заголовков, отвечающих за хранение кеша, или если требуется задать для CDN другое время кеширования. 4xx и 5xx коды ответа кешироваться не будут.
Вы можете настроить время кеширования для конкретных кодов ответа, с помощью опции «Расширенные правила кеширования».
Использовать настройки источника
Серверы CDN при запросе контента с сервера-источника будут ориентироваться на заголовок «Cache-Control», который есть на источнике и кешировать у себя контент на время, заданное в качестве его значения.
Если на сервере-источнике отсутствует заголовок Cache-Control, то CDN будет использовать время хранения, заданное в опции «Время жизни кеша по умолчанию». Эта настройка будет применяться только для кодов ответов 200, 201, 204, 206, 301, 302, 303, 304, 307, 308, остальные коды кешироваться не будут.
Обратите внимание! Если контент не запрашивается конечными пользователями, в обоих случаях он удалится из кеша CDN-серверов через 36 часов.
Настройка кеширования на источнике
По умолчанию мы наследуем все заголовки, заданные на источнике. Время хранения кеша на CDN-серверах определяется HTTP-заголовком Cache-Control.
Добавьте заголовок Cache-Control на ваш сервер в файл .htacess или nginx.conf. Заголовок должен содержать директивы public, max-age.
Пример конфигурации Apache
<ifModule mod_headers.c>
<FilesMatch "\.(gif|ico)$">
Header set Cache-Control "max-age=31536000, public"
</FilesMatch>
<FilesMatch "\.(js)$">
Header set Cache-Control "max-age=31536000,
public"
</FilesMatch>
</ifModule>
Пример конфигурации Nginx
server {
#...
location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
add_header Cache-Control "max-age=88000, public";
}
#...
}