一、浏览器缓存
解释:浏览器缓存极大缓解了带宽压力,提高了用户体验。
- 访问页面-查看是否有缓存,如果没有过期,直接击中缓存,不向服务器发送请求
- 访问页面-查看是否有缓存,如果过期,向服务器发送请求(分两种情况)
- 服务器返回304:判断(图一)客户端提供的两个信息与服务器是否一致(一致表示服务端内容没有更新),一致则返回304让浏览器继续使用本地缓存(称之为强缓存)
- 浏览器返回200:判断(图一)客户端提供的两个信息与服务器是否一致(一致表示服务端内容没有更新),不一致则由服务器处理请求,返回数据(称之为弱缓存)
注意:点击浏览器刷新时,会先判断是否有缓存,如果有缓存和上面情况一样,如果没有缓存会不经过判断直接向服务器获取数据
1.参数
expires 1000;
:1000表示1000秒(其相当于把cache-control: max-age=1000;
写入headers,表示1000秒后缓存过期;若设置为expires -1000;
,其相当于把cache-control: no-cache;
写入headers,表示资源可以缓存在浏览器本地,但每次使用缓存前,都要跟服务器协商确认资源是否有更新)- 自定义header
2.基础
cache-control: max-age=1000;
:浏览器缓存1000秒cache-control: no-cache;
:资源可以缓存在浏览器本地,但每次使用缓存前,都要跟服务器协商确认资源是否有更新cache-control: no-store;
:资源每次都需要向服务器请求