srcache_store_statuses
Директива `srcache_store_statuses` указывает, какие коды состояния HTTP следует кэшировать в прозрачной схеме кэширования на основе сабзапросов.
Описание
Директива srcache_store_statuses позволяет NGINX задать конкретные коды состояния HTTP, при появлении которых при обработке запроса сервер должен производить кэширование. Если ответ возвращается с одним из указанных кодов, NGINX решает сохранить этот ответ в кэше, что позволяет обслуживать последующие запросы к тому же ресурсу из кэша вместо повторного получения. Директива может принимать один или несколько кодов состояния, обеспечивая гибкие и настраиваемые механизмы кэширования в зависимости от требований приложения.
Например, приложение может захотеть кэшировать ответы со статусами 200 (OK) и 404 (Not Found), но не кэшировать перенаправления (например, 301 или 302), которые обычно являются временными. Грамотная настройка этих кодов позволяет оптимизировать производительность и использование ресурсов, при этом гарантируя, что пользователи получают корректную информацию. Коды состояний должны быть заданы в формате, разделённом пробелами, если в блоке location указано несколько статусов, поэтому крайне важно обеспечить корректный разбор и синтаксис, чтобы избежать ошибок в конфигурации.
Пример конфига
location /api {
srcache_store_statuses 200 404;
# other directives
}Убедитесь, что коды состояния — допустимые HTTP-коды, так как недопустимые коды могут привести к неожиданному поведению кэширования.
Учтите риск кэширования конфиденциальной информации; некоторые коды состояния могут указывать на ошибки, которые не следует кэшировать.
Важно понимать поток ответов вашего приложения, чтобы избежать путаницы относительно того, что кэшируется.