Защита сайта: кеширование и CDN

10.04.2025
18:26

Что такое CDN?

CDN, или сеть доставки контента это система серверов, размещённых в разных точках мира. Они кешируют статические элементы сайта (изображения, скрипты, стили и прочее), чтобы при обращении пользователя данные загружались не с основного сервера, а с ближайшего к нему CDN-узла. Это повышает скорость отклика и улучшает производительность ресурса.

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

Требования к контенту

Следующие форматы кешируются: 

.js, .css, .ejs, .png, .jpg, .jpeg, .gif, .ico, .bpm, .svg, .svgz, .cur, .pict, .tif, .tiff, .eps, .ttf, .eot, .otf, .woff, .woff2, .swf, .mp3, .mp4, .ogg, .wav, .webm, .webp, .avi, .flv, .mov, .pls, .midi, .mid, .mkv, .m4v, .ts, .m3u8, .txt, .exe, .zip, .xz, .gz, .lzma, .7z, .rar, .class, .jar, .tar, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .pdf, .rtf, .csv, .ps, .odt, .ods, .odp, .odg.


Ответы сервера кешируются, если

  • Запрос не содержит заголовка Authorization
  • Запрошенный файл имеет формат из списка выше, ИЛИ запрос содержит заголовок Accept с указанием типа статического контента (начинается с image, audio, video, text/css, text/font), ИЛИ запрос содержит заголовок If-Modified-Since или If-None-Match
  • Ответ содержит заголовок Last-Modified, Expires или Cache-Control
  • Ответ содержит заголовок Content-Length и его значение не превышает 2048 мегабайт

HTTP-заголовок ответа ddg-cache-status показывает, отдается ли контент из кеша CDN (статус HIT) или с целевого сервера (статус MISS).

Заголовок Accept должен соответствовать регулярному выражению ^(image|audio|video|text\/css|font)

Время кеширования и ревалидация

Для управления кешированием используются директивы HTTP-заголовка Cache-Control.

Время хранения файлов в кеше CDN зависит от свежести (freshness) файла, которая задается одним из способов:

  • если есть директива s-maxage, срок свежести файла определяется по его значению;
  • в противном случае используется значение max-age .

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

  • по разнице между Expires и Date (если Date больше Expires, свежесть равна нулю);
  • при отсутствии Expires/Date — 10% от разницы между Date и Last-Modified;
  • при отсутствии Date/Last-Modified — 5 минут.

Эвристическая оценка свежести всегда находится в диапазоне от 5 минут до 10 суток.

Файл ревалидируется, если его срок жизни истек. По умолчанию срок жизни равен свежести, однако некоторые директивы могут влиять на его формулу:

  • min-fresh — ревалидировать, когда до завершения времени жизни объекта останется min-fresh секунд. Уменьшает фактический срок жизни файла.
  • max-stale — отдавать из кеша даже в течении max-stale секунд после истечения срока свежести. Увеличивает фактический срок жизни файла.

Очистка кеша

  1. Войдите в личный кабинет, найдите в левом меню раздел "Товары/Услуги", нажмите на "Защита сайта".
  2. Выберите вашу услугу защиты сайта, нажмите "Очистить кеш" на панели сверху. После очистки кеша сайт может загружаться дольше обычного, пока не закешируются все необходимые файлы.

Закажите новый VPS со скидкой 15%
Любая локация на выбор. Стабильный сервер для ваших проектов по выгодной цене.
Выбрать VPS

Другие статьи

10.04.2025
1 162
База знаний / Защита сайта
Защита сайта: настройка файрвола
10.04.2025
1 609
База знаний / Защита сайта
Защита сайта: настройки DNS
10.04.2025
959
База знаний / Защита сайта
Защита сайта: заказ услуги