在前端开发中,性能是一个永恒的话题,没有最好,只有更好。判断一个网站性能好坏,一个直入眼观的即是网页的反应速度,有一个方式就是使用缓存,一个优秀的缓存策略可以缩短网页请求的时间,减少延迟,并且网页可以重复利用,还可以减少带宽,降低网络负荷。
1: 为什么需要缓存?
a:缓存可以减少用户等待时间,提升用户体验
b:减少网络带宽消耗
c:降低服务器压力
Note:缓存使用不当,也会造成‘脏数据’问题
2:常见的缓存类型
强缓存 -
Expires服务器端设置,表示该资源的过期时间,会有弊端,客户端时间和服务器时间不一致的问题。
Cache-Control:max-age表示缓存资源的最大生命周期,单位是秒
所以Expires 结合 Cache-Control 一起使用,大型网站中一般比较适用
协商缓存-
Last-Modified:值为资源的最后更新时间,随服务器response返回
If-Modified-Since:通过比较两个时间来判断资源在两次请求期间是否有过修改,如果没有,则命中协商缓存
Etag:表示资源内容的唯一标识,即资源的消息摘要
If-None-Match:服务器通过比较请求头中的If-None-Match与当前资源的Etag是否一致来判断资源是否在两次请求期间有过修改
3:缓存流程图示:
a:浏览器会先检测强缓存类型(Cache-Control 或者 Expires)是否有效;命中直接浏览器本地获取缓存资源
b:未命中。服务器会根据请求头Request Header验证这个资源是否命中协商缓存,称之为>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)