Nginx与浏览器 -- Cache-Control缓存

来源:互联网 发布:语音叫号软件 编辑:程序博客网 时间:2024/05/18 01:56

在前段调用后端action的时候,servlet为我们提供了缓存机制,也就是相同的url,你请求第一次,可以访问到服务器,第二次再请求时,就不会请求后台了,而是直接从浏览器本地获取数据。
这有的时候不是我们想要的效果,
所以可以通过以下方式避免:

在html开头增加:

<%response.setHeader("Cache-Control","no-cache"); //HTTP 1.1response.setHeader("Pragma","no-cache"); //HTTP 1.0response.setDateHeader ("Expires", 0); //prevents caching at the proxy server%>

当我们的项目通过nginx做分发处理,nginx也有Cache-Control的配置,如果我们为修改nginx中的配置,上面的代码也是无效的。
nginx中配置详见:https://www.nosa.me/2014/10/31/nginx-cache%E6%96%B9%E9%9D%A2%E7%9A%84%E8%AE%BE%E7%BD%AE/
主要是nginx中的参数Expires

Expires 表示过期时间,Cache-Control 表示最大的存活时间,在服务器端的Nginx 我们可以用 expires 指令来定义这两项。
比如:
expire -1;
expire 0;
expire 1h;
expire max;
expire off;

默认是关闭的,如果需要开启则进行配置,这里需要注意。

阅读全文
0 0
原创粉丝点击