Top.Mail.Ru

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

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

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

Что такое 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 мегабайт.

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

Откуда отдан файл, показывает заголовок ответа ddg-cache-status: HIT — из кеша CDN, MISS — с вашего сервера.

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

Кешированием управляют директивы 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. Выберите вашу услугу и нажмите «Очистить кеш» на панели сверху.
Кнопка «Очистить кеш» в разделе «Защита сайта» личного кабинета

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

Похожее

Все статьи
Защита сайта от DDoS: как работает услуга

Защита сайта от DDoS: как работает услуга

Услуга «Защита сайта» принимает весь трафик сайта на себя: запросы сначала проходят через сервер очистки, и только чистые попадают на ваш сервер. Разберём, что это даёт и как устроена фильтрация. Зачем нужна «Защита сайта» Сайт выдерживает атаку. Даже если на…

Защита сайта: как заказать услугу

Защита сайта: как заказать услугу

Защита сайта заказывается в личном кабинете UFO.Hosting и подключается за несколько минут. Ниже — порядок действий от заказа до подключения. Как заказать услугу «Защита сайта» Войдите в личный кабинет и выполните шаги: В левом меню откройте раздел «Товары/Услуги» и выберите…