其他分享
首页 > 其他分享> > 浏览器强缓存和协商缓存详解

浏览器强缓存和协商缓存详解

作者:互联网

浏览器缓存

浏览器缓存分为强缓存和协商缓存

强缓存协商缓存
共同点如果命中缓存服务器都不会返回资源
不同点不发送请求到服务器发送请求,通过请求进行Http再验证

刷新

强缓存

协商缓存

缓存决策

在使用缓存技术优化性能体验的过程中,我们既希望缓存能在客户端尽可能久的保存,而又希望它在资源发生变化时进行及时更新。着是两个互斥的优化需求。使用枪支缓存并定义足够长的时间就鞥让缓存在客户端长期保持,但是由于强制缓存的优先级高于协商缓存,所以很难进行及时更新;若使用协商缓存,虽然能够保证及时更新,但是频繁与服务器进行协商验证的响应速度肯定不及使用枪支缓存的快。如何兼顾两者的优势呢?

缓存决策注意事项

  1. 拆分源码,分包加载
    对大型的前端应用迭代开发来说,其代码通常很大,如果发生修改的部分集中在几个重要的模块中,那么进行全量的代码更新会显得冗余,因此我们可以考虑在代码构建中,按照模块拆分将其打包成镀铬单独的文件。这样在每次修改后的更新提取时,仅需拉取修改的模块代码包,从而降低了需要下载的内容大小。
  2. 预估资源的缓存时效
    根据不同资源的不同需求特点,规划相应的缓存更新时效,为强势缓存制定合适的max-age取值,为协商缓存提供验证更新的ETag指纹或者版本标签。
  3. 控制中间代理的缓存
    可以考虑让中间代理也进行缓存。
  4. 避免网址的冗余
    缓存是根据请求的URL 进行的,不同的资源会有不同的URL,所以不要给相同的资源设置不同的URL。
  5. 规划缓存的层次结构
    参考缓存决策介绍的示例,不仅仅是请求的资源类型,文件资源的层次结构也会对定制的缓存策略又一定的影响,所以应该综合考虑。

标签:文件,缓存,浏览器,请求,协商,修改,详解,资源
来源: https://blog.csdn.net/Calla_Lj/article/details/120144945