srcache_request_cache_control

Директива `srcache_request_cache_control` управляет кэшированием, контролируя, каким образом запросы клиентов влияют на поведение кэша через определённые HTTP-заголовки.

Синтаксисsrcache_request_cache_control on | off;
По умолчаниюoff
Контекстhttp, server, location
Аргументыflag

Описание

Директива srcache_request_cache_control является частью модуля NGINX ngx_srcache, который предоставляет механизм кэширования подзапросов. Эта директива позволяет настроить, как заголовки Cache-Control в запросах влияют на логику кэширования сохранённых ответов. Когда она включена, NGINX будет учитывать заголовки Cache-Control (no-store, no-cache, private и т.д.), отправляемые клиентами в их запросах, тем самым контролируя, можно ли кэшировать ответы. Это даёт гибкость и тонкую настройку поведения кэша на детальном уровне, что делает директиву пригодной для приложений, которым требуются разные стратегии кэширования в зависимости от атрибутов запросов клиентов.

Когда директива установлена в 'on', она включает обработку заголовков запроса Cache-Control. Это особенно полезно в средах с динамической доставкой контента, поскольку позволяет кэшировать ответы или нет в зависимости от условий, специфичных для клиента. Например, если клиент делает запрос с заголовком Cache-Control: no-store, то соответствующий ответ не будет кэшироваться, обеспечивая всегда актуальное получение ресурса. И наоборот, если такие заголовки отсутствуют, применяются стандартные правила кэширования, что снижает нагрузку на сервер и улучшает время отклика.

Пример конфига

http {
    server {
        location / {
            srcache_request_cache_control on;
            proxy_pass http://backend;
        }
    }
}

Убедитесь, что srcache_request_cache_control совместим с другими директивами кэширования, используемыми вместе; в противном случае может возникнуть непредсказуемое поведение кэширования.

При включении эта директива может привести к тому, что некоторые ответы не будут кэшироваться как ожидается, если клиенты часто используют заголовки, такие как no-cache.

Тщательно протестируйте поведение кэширования в тестовой среде перед развертыванием в продуктивную среду, особенно при смешанном статическом и динамическом контенте.

← Ко всем директивам