前端页面meta标签设置缓存

2019-08-02  本文已影响0人  hao102

配合客户端写的网页;客户端需求是无网络的情况下要使用缓存的网页;但是发现服务端更新完文件后并且ETag值发生了更改但是前端页面并没有更新;废话不说;先走代码;该代码是让客户端在有网络的情况下每次校验服务端是否发生更改;

<meta http-equiv="Cache-control" content="no-cache,max-age=0, must-revalidate,no-store">
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="0" />
    <meta http-equiv="Cache" content="no-cache">

浏览器的缓存机制

  1. 当前缓存的文件是否过期;
  2. 服务器中文件是否有改动

判断缓存过期以及文件的变动

文件变动后文件的Etag值会发生更改;客户端先问服务器Etag值是否发生更改;然后决定是否更新当前文件;

设置过期,在请求头中设置字段

Http1.0
  1. Pragma:它用来向后兼容只支持 HTTP/1.0 协议的缓存服务器,那时候 HTTP/1.1 协议中的 Cache-Control 还没有出来
Http1.1
  1. Expires:相应头过期时间;Cache-control中设置max-age;则该属性会被忽略
  2. Cache-control;该字段的优先级要比Expires优先级高

Cacha-control常见的取值:

上一篇 下一篇

猜你喜欢

热点阅读