最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 前端缓存的理解 或者 前端数据持久化的理解(强制缓存、协商缓存)

    正文概述 掘金(Longer)   2021-02-20   643

    前端缓存

    分为HTTP缓存和浏览器缓存 前端缓存的理解 或者 前端数据持久化的理解(强制缓存、协商缓存) 其中HTTP缓存是在HTTP请求传输时用到的缓存,主要在服务器代码上设置;而浏览器缓存则主要由前端开发在前端js上进行设置。

    缓存可以说是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。

    对于一个数据请求来说,可以分为发起网络请求、后端处理、浏览器响应三个步骤。浏览器缓存可以帮助我们在第一和第三步骤中优化性能。比如说直接使用缓存而不发起请求,或者发起了请求但后端存储的数据和前端一致,那么就没有必要再将数据回传回来,这样就减少了响应数据。

    强制缓存

    就是向浏览器缓存查找该请求结果,并根据该结果的缓存规则来决定是否使用该缓存结果的过程,强制缓存的情况主要有三种,如下:

    ①不存在该缓存结果和缓存标识,强制缓存失效,则直接向服务器发起请求

    ②存在该缓存结果和缓存标识,但该结果已失效,强制缓存失效,则使用协商缓存

    ③存在该缓存结果和缓存标识,且该结果尚未失效,强制缓存生效,直接返回该结果 前端缓存的理解 或者 前端数据持久化的理解(强制缓存、协商缓存)

    控制强制缓存的字段分别是Expires和Cache-Control,其中Cache-Control优先级比Expires高。
    

    前端缓存的理解 或者 前端数据持久化的理解(强制缓存、协商缓存) Cache-Control、Expires都是缓存到期时间,Cache-Control是相对值,Expires是绝对值,即再次发送请求时,如果时间没到期,强制缓存生效。

    注:在无法确定客户端的时间是否与服务端的时间同步的情况下,Cache-Control相比于expires是更好的选择,所以同时存在时,只有Cache-Control生效。

    协商缓存

    就是强制缓存失效后,浏览器携带缓存标识向服务器发起请求,由服务器根据缓存标识决定是否使用缓存的过程

    ①协商缓存生效,返回304

    ②协商缓存失效,返回200和请求结果

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

    浏览器的缓存存放在哪里,如何在浏览器中判断强制缓存是否生效?

    这里我们以博客的请求为例,状态码为灰色的请求则代表使用了强制缓存,请求对应的Size值则代表该缓存存放的位置,分别为from memory cache 和 from disk cache。那么from memory cache 和 from disk cache又分别代表的是什么呢?什么时候会使用from disk cache,什么时候会使用from memory cache呢?

    前端缓存的理解 或者 前端数据持久化的理解(强制缓存、协商缓存) from memory cache代表使用内存中的缓存,from disk cache则代表使用的是硬盘中的缓存,

    浏览器读取缓存的顺序为memory –> disk –> 服务器请求。

    内存缓存(from memory cache):内存缓存具有两个特点,分别是速度快和时间限制

    硬盘缓存(from disk cache):硬盘缓存则是直接将缓存写入硬盘文件中,读取缓存需要对该缓存存放的硬盘文件进行I/O操作,然后重新解析该缓存内容,读取复杂,速度比内存缓存慢

    在浏览器中,浏览器会在js和图片等文件解析执行后直接存入内存缓存中,那么当刷新页面时只需直接从内存缓存中读取(from memory cache);而css文件则会存入硬盘文件中,所以每次渲染页面都需要从硬盘读取缓存(from disk cache)。


    起源地下载网 » 前端缓存的理解 或者 前端数据持久化的理解(强制缓存、协商缓存)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元