【问题标题】:How can I prevent web browsers from making "If-Modified-Since" requests for cached files?如何防止 Web 浏览器对缓存文件发出“If-Modified-Since”请求?
【发布时间】:2016-02-25 20:19:24
【问题描述】:

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

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

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

【问题讨论】:

    标签: caching nginx if-modified-since


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2019-02-07
      • 2010-11-05
      • 1970-01-01
      • 2011-01-07
      • 1970-01-01
      • 2018-01-27
      • 1970-01-01
      • 2017-02-06
      • 1970-01-01
      相关资源
      最近更新 更多