srcache_store_statuses

Директива `srcache_store_statuses` указывает, какие коды состояния HTTP следует кэшировать в прозрачной схеме кэширования на основе сабзапросов.

Синтаксисsrcache_store_statuses status_code [status_code ...];
По умолчаниюnone
Контекстhttp, server, location, if in location
Аргументы1+

Описание

Директива srcache_store_statuses позволяет NGINX задать конкретные коды состояния HTTP, при появлении которых при обработке запроса сервер должен производить кэширование. Если ответ возвращается с одним из указанных кодов, NGINX решает сохранить этот ответ в кэше, что позволяет обслуживать последующие запросы к тому же ресурсу из кэша вместо повторного получения. Директива может принимать один или несколько кодов состояния, обеспечивая гибкие и настраиваемые механизмы кэширования в зависимости от требований приложения.

Например, приложение может захотеть кэшировать ответы со статусами 200 (OK) и 404 (Not Found), но не кэшировать перенаправления (например, 301 или 302), которые обычно являются временными. Грамотная настройка этих кодов позволяет оптимизировать производительность и использование ресурсов, при этом гарантируя, что пользователи получают корректную информацию. Коды состояний должны быть заданы в формате, разделённом пробелами, если в блоке location указано несколько статусов, поэтому крайне важно обеспечить корректный разбор и синтаксис, чтобы избежать ошибок в конфигурации.

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

location /api {
    srcache_store_statuses 200 404;
    # other directives
}

Убедитесь, что коды состояния — допустимые HTTP-коды, так как недопустимые коды могут привести к неожиданному поведению кэширования.

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

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

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