0

我正在尝试在 nginx 中设置缓存,以便不需要重复获取图像。If-Modified-Since除了浏览器仍在为每个带有标题的文件发出请求外,它似乎正在工作。然后服务器响应,304 Not Modified实际文件不再传输。我可以看到在很多情况下这是多么理想的行为,但在我的特殊情况下,文件最多可以过期一周,我更愿意跳过额外请求带来的延迟。

是否可以添加缓存标头,告诉浏览器始终自动使用缓存版本,直到到期?我当前的 nginx 配置是

expires 7d;
add_header Pragma public;
add_header Cache-Control "public";
4

1 回答 1

0

从更多的研究来看,这些请求似乎是由浏览器自行决定的,并且与 nginx 配置没有任何关系。如果您在 Chrome 中执行 ctrl-f5 刷新,那么它将重新请求所有文件,无论它们是否被缓存。如果您只执行 f5 那么它将发送带有“If-Modified-Since”标头的请求,然后仅在文件已更改时才更新文件(这就是我正在做的事情)。当您只需单击指向页面的链接时,不会请求缓存文件。

于 2015-11-24T15:42:37.377 回答