美文网首页
http缓存与H5缓存

http缓存与H5缓存

作者: SailingBytes | 来源:发表于2020-05-18 19:27 被阅读0次

http缓存的是指:当Web请求抵达缓存时, 如果本地有“已缓存的”副本,就可以从本地存储设备而不是从原始服务器中提取这个文档。

一、http有三种缓存方式:

1、强制缓存

服务端设置响应头Cache-Control:

1)max-age=xxx,并且设置Expires响应头过期时间,客户端自行判断是否读取缓存(Cache-Control: no-cache)

2)no-cache时,表示禁用缓存(Cache-Control: no-cache)

2、协商缓存

通过状态码304告诉客户端该走缓存

3、通过文件内容来缓存

1)修改文件时间:通过文件的最后修改时间判断该不该读取缓存,服务端设置响应头Last-Modified,通过文件的最后修改时间判断该不该读取缓存,服务端设置响应头Last-Modified。

客户端把上次服务端响应头中的Last-modified值通过if-modified-since 传递给服务端 , 服务端通过比较当前文件的修改时间和上次修改时间(上次传给客户端的值)。

xmlHttp.setRequestHeader("If-Modified-Since","0");

xmlHttp.setRequestHeader("Cache-Control","no-cache");

服务器检查参数值,如果文件没有改变则返回304,此时浏览器就访问本地缓存了。如果服务器上该文件被修改过,那么参数值就不一样,服务器就把最后的文件返回给浏览器。

2)修改文件内容:通过文件的内容来判断该不该读取缓存,服务端通过把文件指定的内容(如版本号)读取出来,通过md5进行base64加密得出hash值,把这个值设置响应头Etag,客户端下一次请求通过if-none-match带过来,服务端再比对当前文件内容加密得出的hash值和上次是否一样。

二、H5缓存

1、设置meta

<META HTTP-EQUIV="pragma" CONTENT="no-cache">

<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">

<META HTTP-EQUIV="expires" CONTENT="0">

2、H5设置文件更新版本(或时间戳),通过更新文件后缀达到浏览器控制重新加载的作用。

相关文章

  • http缓存与H5缓存

    http缓存的是指:当Web请求抵达缓存时, 如果本地有“已缓存的”副本,就可以从本地存储设备而不是从原始服务器中...

  • H5缓存使用方法

    H5缓存使用方法H5缓存使用方法.png

  • 2018-12-05

    h5缓存机制 浏览器缓存机制是指通过HTTP协议头里的Cache-Control(或Expires)和Last-M...

  • HTTP缓存原理

    什么是HTTP缓存 HTTP缓存通常指浏览器缓存,基于HTTP中header字段实现HTTP缓存分为强缓存和协商缓...

  • Android 缓存方案探究&实践

    网上看了很多的WebView缓存的文章,做了个H5缓存的方案,提高H5体验,提升H5加载 速度。主要部分为缓存和文...

  • 前端缓存

    前端缓存 前端缓存主要是分为HTTP缓存和浏览器缓存。其中HTTP缓存是在HTTP请求传输时用到的缓存,主要在服务...

  • http缓存和各个版本差异理解

    http缓存我们可以通过设置http头部属性来对资源进行缓存,资源缓存分为强制缓存和协商缓存 强制缓存expire...

  • 前端缓存详解

    一、前言 前端缓存主要是分为HTTP缓存和浏览器缓存。其中HTTP缓存是在HTTP请求传输时用到的缓存,主要在服务...

  • 前端缓存的理解 或者 前端数据持久化的理解(强制缓存、协商缓存)

    前端缓存分为HTTP缓存和浏览器缓存 其中HTTP缓存是在HTTP请求传输时用到的缓存,主要在服务器代码上设置;而...

  • HTTP缓存机制

    HTTP缓存机制 前言 ​ 缓存机制无处不在,有客户端缓存,服务端缓存,代理服务器缓存等。在HTTP中具有缓存...

网友评论

      本文标题:http缓存与H5缓存

      本文链接:https://www.haomeiwen.com/subject/emupohtx.html