一、作用
能够帮助服务器提高并发性能,很多资源不需要重复请求直接从浏览器拿
二、作用范围
至少两次http请求才有作用:第一次响应到第二次请求的时候
三、分类
三、基本术语
四、http缓存分类
通过资源的http请求头信息来判断是什么类型的缓存
1、强缓存
不用发送请求到服务器,直接拿缓存,状态status是200
(1)判断:
在chorm的检查中,network中在size一栏可以看到"from memory cache"或者"from disk cache"
(2)来源:
利用http的Expires或者Cache-Control两个字段
-
expires(绝对有效时间)
Expires=max-age+请求时间,需要和Last-modified结合使用
缺点:设置的时间是服务器的时间,当客户端本地的时间被修改之后,服务器与客户端时间有偏差,导致时间混乱
-
Cache-control(相对有效时间)优先级高
(3)状态(size字段):
a、from memory cache (浏览器内存读取,关闭浏览器不会存在)
b、from disk cache (硬盘读取,关闭浏览器还存在)
一般动态资源(js、图片)等会存在浏览器缓存中,静态资源(css)等会存在硬盘中
2、协商缓存
若未命中强缓存,浏览器会去询问服务器是否需要从缓存获取数据,然后服务器来判断浏览器本地的缓存是否失效,状态status是304
(1)来源:
服务器根据http信息头的last-modified/if-modify-since或Etag/if-none-match来判断是否命中协商缓存