Перейти к основному содержимому
Настроить кэширование
Последнее изменение:

Настроить кэширование

warning

Мы прекращаем поддержку провайдера Akamai. Создание новых CDN-ресурсов провайдера Akamai недоступно, существующие ресурсы Akamai прекратят работу и будут удалены 1 мая 2025 года. Рекомендуем перейти на провайдера Selectel сейчас, чтобы избежать перебоя в работе сайтов. Для подключения CDN Selectel используйте инструкции в разделе Подключить CDN.

Настроить время жизни кэша

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

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

Если к файлу в кэше нет запросов дольше 36 часов, он автоматически удаляется из кэша, даже если время его жизни еще не закончилось. Файл заново загрузится в кэш, только если его запросит пользователь.

Вы можете настроить время жизни кэша на CDN-серверах и в браузере пользователя.

Чтобы изменить время жизни кэша:

  1. В панели управления перейдите в раздел CDNCDN-ресурсы.

  2. Откройте страницу CDN-ресурса → вкладка Настройки.

  3. Откройте карточку Контент.

  4. Выберите максимальное время жизни кэша на CDN-серверах:

    • если вы выберете период времени, CDN-сервер будет обращаться к источнику в конце каждого такого периода;
    • если вы выберете Использовать настройки источника, время кэширования будет равно времени, которое задано на источнике в заголовке Cache-Control. Если заголовок не установлен, контент не будет кэшироваться.
  5. Выберите время жизни кэша в браузере:

    • если вы выберете период времени, браузер будет обращаться к источнику в конце каждого такого периода;
    • если вы выберете Использовать настройки браузера, время кэширования будет равно времени, которое задано в настройках браузера.
  6. Нажмите Сохранить.

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

  1. В панели управления перейдите в раздел CDNCDN-ресурсы.
  2. Откройте страницу CDN-ресурса → вкладка Настройки.
  3. Откройте карточку Контент.
  4. Отметьте чекбокс Игнорировать Set-Cookie.
  5. Нажмите Сохранить.

Игнорировать параметры запроса

Если в запросах к одному файлу присутствуют разные параметры (часть после знака вопроса в URL файла), то каждый запрос с новым параметром проксируется на источник. Игнорирование параметров запроса позволяет кэшировать файлы с разными параметрами запроса как один объект.

  1. В панели управления перейдите в раздел CDNCDN-ресурсы.
  2. Откройте страницу CDN-ресурса → вкладка Настройки.
  3. Откройте карточку Контент.
  4. Отметьте чекбокс Игнорировать параметры запроса.
  5. Нажмите Сохранить.

Отдавать кэш при ошибках источника

Опция позволяет отдавать последний кэшированный контент, если источник отвечает ошибкой. При этом на момент ошибки в кэше могут быть не все данные сайта — например, не все изображения, видео или таблицы стилей. В таком случае страницы сайта могут отображаться не полностью.

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

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

Чтобы включить отдачу кэша при ошибках источника:

  1. В панели управления перейдите в раздел CDNCDN-ресурсы.

  2. Откройте страницу CDN-ресурса → вкладка Настройки.

  3. Откройте карточку Контент.

  4. Отметьте чекбокс Всегда онлайн.

  5. Выберите ошибки, при которых нужно отдавать последний кэшированный контент:

    • Error (сетевые проблемы)
    • Timeout (время ответа не должно превышать 5 секунд)
    • Invalid Header
    • updating (обновление кэша)
    • Error 500
    • Error 502
    • Error 503
    • Error 504
    • Error 403
    • Error 404
    • Error 429
  6. Нажмите Сохранить.