Cache-Control Конструктор
Онлайн инструмент для быстрой настройки HTTP-заголовка кэширования Cache-Control в PHP, Nginx и Apache
Быстрый опросник
Конфигуратор кэшируемости
Теги: бесплатный онлайн конструктор, кэширование, кэш, no-store, private, public.
Конфигуратор срока годности данных
Теги: бесплатный онлайн конструктор, max-age, age.
Конфигуратор срока годности данных в публичных кэшах
Срок годности данных в публичных кэшах будет совпадать с общими настройками срока годности max-age.
Можно самостоятельно определить, какой период времени данные в публичных кэшах будут считаться валидными.
Для общедоступных данных, которые никогда не устареют. Например, графические элементы дизайна страницы.
Для страниц, момент обновления которых предсказать невозможно. Например, очень быстрая лента событий. Установка минимального срока годности не предотвращает кэширование данных и не гарантирует удаление данных с дисков публичных кэширующих серверов.
Полезно, если есть чёткое понимание, как долго кэшируемые данные могут оставаться актуальными, или их актуальность некритична по сравнению с нагрузкой на сервер.
В течение этого времени данные будут браться из кэша. По истечении этого срока кэш может как удалить данные, так и продолжить хранить их на своё усмотрение, но должен будет попробовать обновить данные, обратившись к вышестоящему кэшу или исходному серверу.
Теги: бесплатный онлайн конструктор, s-maxage, public age.
Конфигуратор запроса на обновление данных
Кэш самостоятельно определит порядок запроса на обновление данных.
Можно самостоятельно определить, по какому алгоритму будет происходить порядок контроля и обновления данных в кэше.
Запрашивать актуальность данных у исходного сервера при каждом обращении к кэшу. Кэш будет присылать запрос If-Modified-Since и ждать ответ 304 или 200 не зависимо от того, просрочены данные в кэше или нет. Это повышает нагрузку на сервер, но гарантирует постояную актуальность отображаемых данных. Фактически игнорирует директиву max-age. При использовании данной директивы необходимо учитывать, что она может значительно замедлить работу веб-сайта и повысить нагрузку на сервер, поэтому ее следует использовать только в крайних случаях, когда необходима максимальная актуальность данных и при этом не критично время их получения.
Запрос актуальности данных в кэшах всех типов будет происходить только после истечения срока годности данных в кэше. Если данные просрочены, то кэш отправит запрос на проверку актуальности данных на сервер, который может вернуть новые данные или код ответа 304, если данные в кэше всё ещё являются актуальными. Однако, существует шанс, что данные, взятые из кэша, уже были изменены на исходном сервере. Данная директива может повысить нагрузку на сервер, но также гарантирует более актуальные данные, чем при использовании директивы max-age. Она должна использоваться только в тех случаях, когда необходимо максимально точно контролировать актуальность данных и готовность сервера к перегрузкам.
Эта директива похожа на must-revalidate, но действует только на публичные кэширующие серверы. Такие серверы будут запрашивать актуальность данных у исходного сервера только после истечения их срока годности в кэше. Однако, как и в случае с must-revalidate, существует риск получить устаревшие данные из кэша.
Кэш не будет беспокоить исходный сервер запросами. Все данные, помещённые в кэш, считаются неизменяемыми и актуальными до истечения срока жизни. Подходит для статических неизменяемых файлов, версионированных таблиц стилей и скриптов. Кроме того, из соображений безопасности рекомендуется использовать данную директиву только вместе с HTTPS-протоколом. Вероятно, часть устаревших кэшей не поддерживает эту директиву. Рекомендуется ознакомиться с RFC 8246 для получения более подробной информации.
Теги: бесплатный онлайн конструктор, must-revalidate, proxy-revalidate, immutable, revalidate.
Конфигуратор прочих директив
В зависимости от настроек, кэш может принимать решение о дополнительном сжатии данных или изменении их формата, что может привести к нежелательным последствиям. Например, несжатые текстовые материалы могут быть подвергнуты архивации для экономии дискового пространства, а у изображений может быть изменен формат на более эффективный или сжатый с потерей качества. Такое поведение кэша встречается крайне редко и является критическим только для изображений. Чтобы избежать таких проблем, можно использовать директиву «no-transform», которая запрещает любое изменение данных, сохраняя их в исходном виде.
Теги: бесплатный онлайн конструктор, notransform.
PHP
Заголовок кэширования для PHP. Для скриптов, написанных на языке PHP, необходимо добавить строку с кодом в начало PHP-скрипта перед началом вывода основного контента.
header("Cache-Control: ");
Теги: язык программирования PHP. Бесплатный онлайн конструктор, как добавить Cache Control в PHP.
Веб-сервер Nginx
Заголовок кэширования для Nginx. Для установки заголовков кэширования в веб-сервере Nginx необходимо добавить строку с командой «add_header» в файл конфигурации *.conf соответствующей секции server или location.
add_header Cache-Control "";
Теги: веб-сервер Nginx. Бесплатный онлайн конструктор, как добавить Cache Control в Nginx.
Веб-сервер Apache
Заголовок кэширования для Apache. Для веб-сервера Apache необходимо добавить строку с командой в файл основной конфигурации httpd.conf или соответствующий файл .htaccess.
Header set Cache-Control ""
Теги: веб-сервер Apache. Бесплатный онлайн конструктор, как добавить Cache Control в Apache через .htaccess.
Теги: Cache-Control, HTTP заголовок, HTTP header, бесплатный онлайн конструктор.