Web前端之路

Http缓存详解

2020-07-09  本文已影响0人  loushumei

1.为什么缓存?

相对于cpu的计算和页面加载速度(mm级)来说,
网络请求更耗时,
所以通过http缓存的方式时间来减少网络请求,
从而能达到访问前端页面的性能优化。

http缓存策略分为强制缓存协商缓存

2.强制缓存 Catch-Control

Cache-Control 在Response Headers中,控制强制缓存的逻辑.
(例如 Cache-Control:max-age=31536000(秒)=1年).
Expires 在Response Headers中,设置缓存过期,已被Catch-Control代替

- Cache-control的值
- http强制缓存过程
强制缓存过程

浏览器初次请求时,服务端返回资源和Catch-Control,
再次请求时,若Cache-control中响应头信息中设置了max-age=***[秒],则访问本地缓存。

3.协商缓存(对比缓存)

服务端缓存策略-服务端判断资源是否用缓存.
服务端判断客户端资源标识是否跟服务端资源一样,一致则返回 304,负责返回 200和最新资源

在Response Headers中,资源标识分为两种:
Last-Modified 资源最后被修改的时间
Etag 资源的唯一标识,Etag值根据资源内容改变而改变

- Last-Modified为资源标识协商缓存的过程
Last-Modified
- 以Etag为资源标识协商缓存的过程
Etag
优先使用Etage

4. http缓存流程图

http缓存流程

5. 刷新操作方式,对缓存的影响

操作方式 场景 强制缓存 协商缓存
正常操作 地址输入url,跳转链接,前进后退 有效 有效
手动刷新 f5,点击刷新按钮,点击菜单刷新 失效 有效
强制刷新 shift+commond+R 失效 失效
上一篇 下一篇

猜你喜欢

热点阅读