如何设置强缓存的失效时间
A. 浏览器缓存及刷新
1、服务器开启Cache-Control缓存控制(优先级更高)
(相对时间,在这个时间之前不会和服务器通信,本地拿过来直接用)
Cache-Control:max-age=3600,这里是3600秒过期,过期前不会和服务器通信,直接用本地缓存
Cache-Control:no-cache,不使用本地缓存
2、服务器开启Expires(过期时间,绝对时间)
Expires:Thu,21 Jan 2017 23:39:02 GMT
1、Last-Modified(服务器返回此文件最后修改时间)
If-Modified-Since(客户端第二次请求该资源带着上次服务器返回的此文件最后修改时间,比对是否相同)
2、Etag(优先级更高)(第一次请求资源服务器返回一个Etag值)
If-None-Match(第二次请求资源客户端带着之前的Etag值给服务器进行比对)
如果多个参数同事存在时:
强缓存优先级更高,而在强缓存中,Cache-Control比Expires优先级高
协商缓存中,Etag比Last-Modified优先级高
1、正常操作:地址栏输入url,跳转链接,前进后退等
2、手动刷新:F5,点击刷新按钮,右键菜单刷新
3、强制刷新:ctrl+F5
1、正常操作:强制缓存有效,协商缓存有效
2、手动刷新:强制缓存失效,协商缓存有效
3、强制刷新:强制缓存失效,协商缓存失效
B. jenkins缓存失效时间
您可以通过设置缓存过期时间来控制缓存内容的过期时间,当缓存内容到期后才能回源请求最新的内容,不同节点单独计算。例如您设置的缓存过期时间为24小时,当有人访问某个节点且该节点缓存开始,24小时后该节点缓存资源到期,用户下次访问该节点会重新回源请求资源,如果源站有内容变化就会更新节点内容,如果源站内容无更新,将继续使用之前的缓存,并重新计算缓存过期时间。如果您设置的缓存过期时间为0,那么CDN所有节点都不会缓存资源,每次访问都需要回源请求。CDN允许最大缓存过期时间为365天。您也可以通过提交刷新请求来强制缓存内容过期。缓存配置的详细信息请参考缓存配置。您说的缓存失效时间,刷新的时候并不会生效,因为实际上浏览的是缓存的页面,并没有载入新写的JS,缓存失效过了之后会重新读一遍就会把新写的js读进去了,这个一般都是项目和服务器配置,跟前端无关。