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 状态码,因为无效的状态码可能导致意外的缓存行为。

注意不要缓存敏感信息;某些状态码可能表示不应被缓存的错误。

理解应用程序响应的流程对于避免对被缓存内容产生混淆至关重要。

← 返回所有指令