文章插图
文章插图
1. 浏览器缓存的种类
cookie
localStorage和sessionStorage
memory cache 和 disk cache
还有其他一些浏览器缓存 , 如WebSQL、IndexDB等等 , 不常用就不分析了 。
2. 浏览器缓存特点分析2.1. cookie缓存
cookie缓存由服务器端生成 , 一般用来保存session信息 , 只要设计合理 , 一般不会带来一致性问题 。
2.2. localStorage 和 sessionStorage
localStorage是永久缓存 , 如果升级前端程序涉及缓存键值改变 , 应在页面加载时调用清理或重新设置缓存内容的JS代码 。
sessionStorage是跟随当前浏览器窗口的数据缓存 , 关闭重新打开浏览器会自动清空 。
2.3. memory cache 和 disk cache
memory cache是浏览器内部控制的 , 无法改变 , 一般也不会带来副作用 。
disk cache是重点关注的浏览器端的资源文件缓存 。
3. 控制disk cache
Http Response Headers中通过cache-control来控制浏览器采取不同的缓存策略 。响应头参数可以通过Web服务器来配置 。这里以Nginx的配置文件为例 。
3.1. private(默认)
server {...add_header Cache-Control private; (或者不设置 , 默认为private)...}
private 意思是使用浏览器缓存 , 它配合expires、last-modified等参数来判断资源文件是否需要重新下载 。3.2. no-cache(推荐)
server {...add_header Cache-Control no-cache;...}
no-cache 并非不使用缓存 , 而是不直接使用缓存 , 每次都会向服务器请求响应头 , 通过对比ETag判断资源是否发生变动 , 如果没有变动(相应结果304) , 则使用本地缓存 。所以这是个在性能和一致性比较平衡的选项 。3.3. no-store
server {...add_header Cache-Control no-store;...}
【怎么清理浏览器缓存垃圾 怎样清理浏览器缓存】no-store是让浏览器完全不使用缓存 , 不管资源是否变动 , 都向服务器请求重新下载资源文件 。- 手机照片怎么制作2寸照片 手机上小二寸照片怎么制作
- 美图秀秀照片蓝底换成白底怎么换 美图秀秀怎么把白底换蓝底
- 怎样安装移动宽带路由器 新装移动宽带怎么设置无线路由器
- 蟹黄饭怎么做
- 怎么在网易云上传歌曲到优盘 如何在网易云上传歌曲
- 行百里者半九十是什么意思:善始者众,善终者寡怎么解读?
- 电脑鼠标反应迟钝怎么回事 如果电脑鼠标很迟钝该怎么解决
- 如何查看linuxjdk版本 linux jdk版本怎么看
- 地下城2021年春节套多少钱 dnf春节套怎么买最划算2021
- 为什么很多人不推荐天逸功放 谁用过天逸功放音质怎么样