缓存技术介绍
背景:
具有一些重复性的HTTP请求,比如每次请求得到的数据都一样的,我们可以把这对「请求-响应」的数据都缓存在本地,那么下次就直接读取本地的数据,不必在通过网络获取服务器的响应了,这样的话 HTTP/1.1 的性能肯定肉眼可见的提升。
所以,避免发送 HTTP 请求的方法就是通过缓存技术,HTTP 设计者早在之前就考虑到了这点,因此 HTTP 协议的头部有不少是针对缓存的字段。
HTTP 缓存有两种实现方式,分别是强制缓存和协商缓存。
强制缓存:
指的是只要浏览器判断缓存没有过期,则直接使用浏览器的本地缓存,决定是否使用缓存的主动性在于浏览器这边。
如图所示,返回的状态码为200,但在size项中标识的是from disk cache,这就是使用了强制缓存。
强制缓存主要利用以下两个HTTP响应头部字段实现的,都用来表示资源在客户端缓存的有效期。
Cache-Control:
请求&响应头,缓存控制字段,是一个相对时间。
| 值 | 作用 |
|---|---|
| no-store | 所有内容不缓存 |
| no-cache | 缓存,但使用缓存之前需要请求服务器判断资源是否是最新 |
| max-age=x(秒) | 请求缓存后的x秒内不在发起请求 |
| s-maxage=x(秒) | 代理 |

最低0.47元/天 解锁文章
985

被折叠的 条评论
为什么被折叠?



