要配置协商缓存(Conditional Cache),您需要进行以下步骤:
- 在Nginx配置文件中找到要应用缓存的位置或请求的相关部分。
- 添加
expires指令来设置基本缓存时间,例如:expires 1y;,表示资源将被缓存1年。 - 添加
add_header Last-Modified和ETag头信息到响应中。这些信息将用于后续的协商缓存验证。
下面是一个简单的Nginx配置示例,展示了如何启用协商缓存:
server {
...
location /static/ {
expires 1y;
add_header Last-Modified $date_gmt;
add_header ETag "$request_uri";
}
}
在上述示例中,假设静态资源都位于以 /static/ 开头的URL路径下。这里通过 expires 1y; 设置了基本的缓存时间为1年,并添加了 Last-Modified 和 ETag 头信息。
当客户端再次请求相同资源时,Nginx会检查请求中是否包含了 If-Modified-Since 或 If-None-Match 头信息。如果有,则说明客户端希望使用协商缓存机制进行验证。
Nginx会根据传递过来的头信息与服务器上保存的 Last-Modified 或 ETag 进行比较。如果内容未发生变化,则返回状态码为304(Not Modified),并且不会返回资源的内容,而是告诉客户端可以继续使用本地缓存。
这样就实现了协商缓存的配置。请注意,具体的配置可能因您的需求和Nginx版本而有所不同。确保参考Nginx官方文档以获取准确和最新的配置指南。
内容由零声教学AI助手提供,问题来源于学员提问




