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-storeno-cacheprivate 等),从而控制响应是否可以被缓存。这样可以在细粒度层面灵活且精细地管理缓存行为,适用于需要根据客户端请求属性采用不同缓存策略的应用程序。

当该指令设置为 '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 的头部,该指令可能导致某些响应未按预期被缓存。

在部署到生产环境之前,务必在预发布环境中彻底测试缓存行为,尤其是在同时存在静态和动态内容的情况下。

← 返回所有指令