首页
开源软件
问答
博客
翻译
资讯
码云
众包
活动
专区
源创会
高手问答
开源访谈
周刊
公司开源导航页
登录
注册
首页
资讯
摸鱼
专区
问答
开源观止
2022年 6月刊
2022年 7月刊
2022年 8月刊
活动
软件库
Tool
博客
码云
首页
资讯
摸鱼
专区
问答
开源观止
2022年 6月刊
2022年 7月刊
2022年 8月刊
活动
软件库
Tool
博客
码云
OSCHINA 小程序 ——
关注技术领域的头条文章
聚合全网技术文章,根据你的阅读喜好进行个性推荐
登录
注册
九种浏览器端缓存方法知多少
浏览器缓存(Browser Caching)是浏览器端保存数据用于快速读取或避免重复资源请求的优化机制,有效的缓存使用可以避免重复的网络请求和浏览器快速地读取本地数据,整体上加速网页展示给用户。浏览器端缓存的机制种类较多,总体归纳为九种,这里详细分析下这九种缓存机制的原理和使用场景。打开浏览器的调试模式->resou...
作者:
ouven
九种浏览器端缓存方法知多少
分享
复制链接
README badge(
)
社交分享
微信
QQ
微博
JSAL
2016/05/26 17:47
感谢科普 😆
回复
举报
eyas
2016/01/08 18:35
引用来自“灬醉清风”的评论
小编竟不知有LocalForage?!
这个应该是一个库吧,综合多种存储方式
回复
举报
Frank_mc
2016/01/04 09:36
关于http缓存的协商缓存模式,即使缓存没有过期,也会走协商的过程。流程图有些问题
回复
举报
ouven
2016/01/01 11:54
引用来自“hin_longkid”的评论
【判断etag,判断文件是否修改,如果修改,则带上if-none-match发送请求,返回200或304,否则进入下一步】这句话感觉是判断etag是否设置有值,如果有,则带上if-none-match发送请求...这样理解好像清晰一些
引用来自“ouven”的评论
表述简洁了,是有点不好理解,这里不是判断有没有,而是判断与服务器的etag是否一样,不一样表示修改了~
引用来自“hin_longkid”的评论
但是按照你说的判断文件是否修改等同于判断与服务器的etag是否一样(这里应该需要请求一次吧),若发现修改,则带上if-none-match发送请求,返回200或304,这样就发起了两次服务请求了~
嗯,这里之前表述是有问题,这个阶段仅仅判断是否有没有,有的化带上if-none-match一起请求,此时if-none-match其实等于上一次放回的etag值,二此次返回的etag将作为下一次的if-none-match带出去~
回复
举报
水牛叔叔
2015/12/31 18:25
好,今晚回去拜读
回复
举报
h
hin_longkid
2015/12/31 17:28
引用来自“hin_longkid”的评论
【判断etag,判断文件是否修改,如果修改,则带上if-none-match发送请求,返回200或304,否则进入下一步】这句话感觉是判断etag是否设置有值,如果有,则带上if-none-match发送请求...这样理解好像清晰一些
引用来自“ouven”的评论
表述简洁了,是有点不好理解,这里不是判断有没有,而是判断与服务器的etag是否一样,不一样表示修改了~
但是按照你说的判断文件是否修改等同于判断与服务器的etag是否一样(这里应该需要请求一次吧),若发现修改,则带上if-none-match发送请求,返回200或304,这样就发起了两次服务请求了~
回复
举报
泷涯SY
2015/12/31 14:37
文章不错
回复
举报
ouven
2015/12/31 12:02
引用来自“hin_longkid”的评论
【判断etag,判断文件是否修改,如果修改,则带上if-none-match发送请求,返回200或304,否则进入下一步】这句话感觉是判断etag是否设置有值,如果有,则带上if-none-match发送请求...这样理解好像清晰一些
表述简洁了,是有点不好理解,这里不是判断有没有,而是判断与服务器的etag是否一样,不一样表示修改了~
回复
举报
ouven
2015/12/31 12:01
引用来自“沉淀的陈”的评论
http缓存,Etag,last_modefied都没有修改还会去向web服务器请求吗?
会,就算返回时304也还是有请求,304返回一般大小只有几百字节,而不用下载你几十K的文件了
回复
举报
沉淀的陈
2015/12/31 11:21
http缓存,Etag,last_modefied都没有修改还会去向web服务器请求吗?
回复
举报
h
hin_longkid
2015/12/31 11:13
【判断etag,判断文件是否修改,如果修改,则带上if-none-match发送请求,返回200或304,否则进入下一步】这句话感觉是判断etag是否设置有值,如果有,则带上if-none-match发送请求...这样理解好像清晰一些
回复
举报
h
hin_longkid
2015/12/31 11:10
判断etag,判断文件是否修改,如果修改,则带上if-none-match发送请求,返回200或304,否则进入下一步
回复
举报
h
hin_longkid
2015/12/31 11:10
总结得非常好
回复
举报
ouven
2015/12/31 10:49
引用来自“neo-chen”的评论
都有兼容问题。 就HTTP Cache 每个厂商的浏览器处理逻辑都不同。
兼容性是永恒的话题,所有使用时要结合使用场景,这里只是做下总结梳理~
回复
举报
过马路的蚂蚁
2015/12/31 10:46
主要基于H5的方案。
回复
举报
netkiller-
2015/12/31 10:43
都有兼容问题。 就HTTP Cache 每个厂商的浏览器处理逻辑都不同。
回复
举报
ouven
2015/12/31 10:31
引用来自“灬醉清风”的评论
小编竟不知有LocalForage?!
只是一个封装的api库吧,调用的还是IndexedDB or WebSQL和localstorage的机制~
回复
举报
开源中国-首席村长
2015/12/31 10:17
小编竟不知有LocalForage?!
回复
举报
xcLtw
2015/12/31 10:06
不明觉厉
回复
举报
jinhaoxia
2015/12/31 09:34
总结的很好,mark一下
回复
举报
Wenci
2015/12/31 09:22
赞一个
回复
举报
Micooz
2015/12/31 08:47
good
回复
举报
想不到
2015/12/31 08:40
总结的很好,赞一个
回复
举报
李玉珏
2015/12/30 20:08
localStorage IE8就开始支持了。
回复
举报
回复 @
{{ emoji.type }}
{{emojiItem.symbol}}
评论用户
h
推荐博客
从一条更新SQL的执行过程窥探InnoDB之REDOLOG
京东云开发者
·
今天 11:25
0 评论
【云原生】使用Docker快速部署openGauss主备环境
Gauss松鼠会
·
今天 09:19
0 评论
Seata-php 入门与下半年展望
dubbo-go开源社区
·
昨天 19:27
0 评论
Apache Doris 助力网易严选打造精细化运营 DMP 标签系统
SelectDB
·
昨天 18:40
0 评论
企业实践|基于软件研运一体化DevOps平台的应用解析
云智慧AIOps社区
·
昨天 17:45
0 评论
SPI:Java的高可扩展利器
华为云开发者联盟
·
昨天 15:39
0 评论
详解 SSL(二):SSL 证书对网站的好处
又拍云
·
昨天 14:23
0 评论
热帖搬运:在 Tapdata 工作是一种怎样的体验?
Tapdata
·
昨天 14:14
0 评论
MySql主从同步介绍
京东云开发者
·
昨天 13:58
1 评论
阿里云全球实时传输网络GRTN—QOE优化实践
EdgePlus
·
昨天 11:26
0 评论
删除一条评论
评论删除后,数据将无法恢复
取消
确定
©OSCHINA(OSChina.NET)
工信部
开源软件推进联盟
指定官方社区
深圳市奥思网络科技有限公司版权所有
粤ICP备12009483号
顶部
引用来自“灬醉清风”的评论
小编竟不知有LocalForage?!
引用来自“hin_longkid”的评论
【判断etag,判断文件是否修改,如果修改,则带上if-none-match发送请求,返回200或304,否则进入下一步】这句话感觉是判断etag是否设置有值,如果有,则带上if-none-match发送请求...这样理解好像清晰一些引用来自“ouven”的评论
表述简洁了,是有点不好理解,这里不是判断有没有,而是判断与服务器的etag是否一样,不一样表示修改了~引用来自“hin_longkid”的评论
但是按照你说的判断文件是否修改等同于判断与服务器的etag是否一样(这里应该需要请求一次吧),若发现修改,则带上if-none-match发送请求,返回200或304,这样就发起了两次服务请求了~引用来自“hin_longkid”的评论
【判断etag,判断文件是否修改,如果修改,则带上if-none-match发送请求,返回200或304,否则进入下一步】这句话感觉是判断etag是否设置有值,如果有,则带上if-none-match发送请求...这样理解好像清晰一些引用来自“ouven”的评论
表述简洁了,是有点不好理解,这里不是判断有没有,而是判断与服务器的etag是否一样,不一样表示修改了~引用来自“hin_longkid”的评论
【判断etag,判断文件是否修改,如果修改,则带上if-none-match发送请求,返回200或304,否则进入下一步】这句话感觉是判断etag是否设置有值,如果有,则带上if-none-match发送请求...这样理解好像清晰一些引用来自“沉淀的陈”的评论
http缓存,Etag,last_modefied都没有修改还会去向web服务器请求吗?引用来自“neo-chen”的评论
都有兼容问题。 就HTTP Cache 每个厂商的浏览器处理逻辑都不同。引用来自“灬醉清风”的评论
小编竟不知有LocalForage?!