浏览器缓存机制:强缓存和协商缓存

本文介绍了浏览器缓存机制,包括内存缓存和磁盘缓存。重点讲解了强缓存(Expires和Cache-Control)与协商缓存(Last-Modified,If-Modified-Since和ETag,If-None-Match)的工作原理,并阐述了缓存机制总结、浏览器未设置缓存策略时的处理、用户行为对缓存的影响以及缓存的弊端。
摘要由CSDN通过智能技术生成

缓存

memory cache 是内存中的缓存,主要包含当前页面中已经下载的资源,比如样式、脚本、图片等等。读取内存中的数据肯定比磁盘块,但是内存缓存的时间段,会随着进程的是否而释放。一旦我们关闭 Tab 页面,内存中的缓存就被释放了。因为内存有限,并不是所有的资源文件都会放在内存里缓存,它主要用来缓存有 preloader 相关指令的资源,比如。preloader 可以一边解析 js/css 文件,一边网络请求下一个资源。

  • disk cache 也就是存在磁盘上的缓存,读取速度比 memory cache 慢点,但是所有的资源文件都可以存在磁盘里。在所有浏览器缓存中,disk cache 覆盖面最大,它会根据 HTTP Header 中的字段判断哪些资源需要缓存,哪些资源已经过期需要重新从服务器端请求。一般来说,大的文件和使用频率高的文件,会被优先放在磁盘里。

强缓存

强缓存是不会向服务器发送请求,直接从缓存中读取资源

1、Expires: Wed, 25 Sep 2019 08:13:53 GMT
Expires 是 HTTP/1 的产物,受限于本地时间,如果修改了本地时间,可能会造成缓存失效。

2、Cache-Control: max-age=300
Cache-Control 是 HTTP/1.1 的产物,同时有 Expires 和 Cache-Control 的时候,Cache-Control 的优先级要比 Expires 要高,比如Cache-Control: max-age=300,表示这个请求的返回时间(浏览器会记录该时间)的五分钟之内再次加载该资源,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值