1、HTTP的报文:浏览器和服务器间的数据传输
浏览器请求数据发送“请求报文”给服务器
服务器返回“响应报文”给服务器
报文:(1) 报头header【包含缓存相关的信息】
(2)包含数据的主体
2、缓存分为:根据是否需要重定向分为:强缓存(本地缓存)和协商缓存
强缓存:如果生效,不经过服务器
协商缓存:不管是否生效,经过服务器
强缓存优先级大于协商缓存
3、缓存优点:1、减少了对数据库读操作,数据库降低压力。
2、响应速度变快。
3、能极大改善网页性能,提高用户体验
4、过程:客户端请求数据资源时,先获取header,判断是否为强缓存(cache-control或expires),如果是强缓存就直接从缓存取信息和资源,包括缓存header,本次请求不会与服务器通信。如果不是强缓存,浏览器会发送信息到服务器,由服务器对比header是否为协商缓存,如果是,则服务器返回新的header并且更新缓存中对应的header信息,但不返回资源内容,会告诉浏览器从缓存中取,如果不是协商缓存的话就直接返回资源内容。
5、强缓存:
expires:http1.0的规范,它的值是一个绝对时间格式的字符串,如果发送的请求时间为expires之前,本地缓存始终有效,否则从服务器获取资源。
cache-control:http1.1的规范,主要是利用max-age来判断,他是一个相对值,资源第一次请求的事件和cache-control设定的有效值计算出一个过期时间,再用这个过期时间和当前请求时间比,过期之前就可以为强缓存,否则不是。
cache-control优先级比expires高。Expires 表示存在时间,允许客户端在这个时间之前不去检查(发请求),等同max-age的 效果。但是如果同时存在,则被Cache-Control的max-age