浏览器缓存:深入解析与最佳实践
admin2023-12-01【电脑知识】浏览:236
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是让浏览器完全不使用缓存,不管资源是否变动,都向服务器请求重新下载资源文件。
相关文章
- 一文剖析:Cellular与WiFi版智能设备的差异比较
- 工业显示器与普通显示器:差异与特性对比
- 企业微信oa密码忘记怎么找回 企业微信的oa密码如何找回
- 苹果手机怎么换id账号登录 苹果手机怎么换id账号登入
- 轻松找回密码,解决RARZIP密码遗忘难题
- Word2013中新建、答复、隐藏/显示和删除批注的方法步骤介绍 批注隐藏后再打开word又出现
- word脚注操作设置方法 word2010如何设置脚注
- 红警2共和国之辉:中国阵营震撼揭秘,猛攻无敌
- 微星RTX2060显卡暴跌秒杀,降价500,游戏体验飙升
- AI怎么画矢量头发 ai怎样画头发
- WPS表格如何设置自动计算公式 wps表格自动计算公式怎么设置

热评文章
企业微信分屏老师能看到吗 企业微信切屏老师能看见吗
excel如何批量输入求和公式 excel批量输入求
罗技驱动win7能用吗 罗技鼠标支持win7系统吗
打印机驱动卸载干净教程 打印机驱动怎样卸载干净
显卡驱动更新小技巧,让你的电脑运行更稳定
手机系统声音不起眼,但很重要 手机系统声音有的,但