http-headers – 如何将缓存设置为永不过期并最小化Nginx中的请求?

前端之家收集整理的这篇文章主要介绍了http-headers – 如何将缓存设置为永不过期并最小化Nginx中的请求?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个缓存失效系统,所以我需要设置css | js的缓存永不过期.

我试过这个

location ~* \.(js|css)${ # |png|jpg|jpeg|gif|ico
  expires max;
  #log_not_found off; # what's this for?
}
@H_403_9@

这就是我在firebug中看到的:

正如您所看到的,请求仍在进行中,尽管它们只会收到“未修改”的响应.但我想完全避免它们,这可能吗?

此外,我已经读到标准中超过1年的到期时间或将被视为无效.真的吗?

编辑

让我完成@DisgruntledGoat的回答:

>正常访问网址,例如点击链接或在网址栏中输入:cache works,只为该网址发出1个请求,为资产发出0.
> F5重新加载:发出了许多请求,但您收到了资产的所有“304未修改”响应,因此不会下载
> ctrl F5重新加载没有缓存:许多请求,所有’200成功’,所有资产再次下载.

最佳答案
你正在重新加载页面来测试吗?当你这样做时,浏览器通常会再次请求每个文件(至少Chrome会这样做).如果您改为点击站点上不同页面链接,浏览器应该只使用缓存而不是重新请求文件.

此外,根据规范,Expires指令将来只能有一年的日期,因此2037是无效值.话虽如此,浏览器通常接受远期未来的价值.

猜你在找的Nginx相关文章