项目部署后自动清除浏览器缓存的办法

之前拜读《深入分析Java Web技术内幕》一书的时候曾经了解过HTTP 请求相关的知识,今天正好有业务的同事来问我前端Vue项目部署之后,浏览器缓存还存在,用户正确的操作了错误的页面导致程序出现问题。

那我们不可能要求用户使用前要清除一下缓存,所以能否在程序中限制一下呢

但是我的前端水平不允许我写博客,所以只能介绍下思路

Cache-Control/Pragma

这个 Http Header字段用于指定所有缓存机制在整个请求/响应链中必须服从的指令,如果知道该页面是否为缓存,不仅可以控制浏览器,还可以控制和HTTP相关的缓存或代理服务器。

Http Header 中 Cache-Control的可选值

可选值说明
Public所有内容都将被缓存,在响应头中设置
Private内容只缓存到私有缓存中,在响应头设置
no-cache所有内容都不会被缓存,在请求头和响应头中设置
no-store所有内容都不会被缓存到缓存或Internet临时文件中,在响应头设置
must-revalidation/proxy-revalidation如果缓存的内容失效,请求必须发送到服务器/代理以进行重新验证,在请求头中设置
max-age=xxx缓存的内容将在xxx秒后失效,这个选项只在HTTP1.1中可用,和Last-Modified一起使用时优先级较高,在响应头设置

 

 

 

 

 

 

 

 

 

Cache-Control请求字段被各个浏览器支持的很好,而且优先级比较高,Pragma字段的作用和Cache-Control类似,它也是在HTTP头中包含一个特殊的指令,使相关的服务器遵守该指令,最常用的就是Pragma:no-cache,它和Cache-Control:no-cache作用是一样的

我找了两个相同网址测试了一下

上面这个是正常的执行结果

这个是使用CTRL + F5刷新缓存后的结果,可以看到Cache-Control/Pragma的属性都被设置了,所以方案应该是可行的,

对于前端来说,可能要修改一下某个config文件,或者和Nginx有关。。(这个我确实就了解的很少了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值