<返回更多

作为程序员,HTTP缓存这一块还是需要了解一下的

2019-09-11    
加入收藏

前言

缓存对于Web开发有重要作用,尤其是大负荷Web系统开发中。

MDove:当然即使不是Web开发,缓存的意义也是举足轻重。拿客户端来说,从硬盘数据库取肯定要比网络获取快,从内存取一定比从硬盘数据库取更快。虽说HTTP缓存在客户端上的场景并不多见,但是其思想是相通的,学习一波总归没有坏处。

所以今天让我们聊一聊HTTP中的缓存。

想了解更多关于Web性能优化的知识,请移步:

Web前端性能优化:JAVAScript细节篇

Web前端性能优化:htmlcss、js篇

高级Web必备:网络优化,拿去镇住面试官

更过更全内容,欢迎star我的GitHub:https://github.com/programmer-zhang/front-end/

正文

一、缓存的概念知识

二、 缓存的作用

三、 缓存机制

作为程序员,HTTP缓存这一块还是需要了解一下的

缓存策略 图片来源:IMWeb前端

四、涉及缓存机制的HTTP-header

4.1、Expires(过期时间)(强缓存机制)

4.2、Cache-Control(缓存控制)(强缓存机制)

4.3、Last-Modified/If-Modified-Since (协商缓存机制)

4.4、ETag/If-None-Match (协商缓存机制)

五、几种缓存策略的对比

5.1、两种强缓存机制对比 `Expires` VS `Cache-Control`

5.2、两种协商缓存机制对比 `Last-Modified/If-Modified-Since` VS `ETag/If-None-Match`

六、用户行为对缓存策略的影响

并不是所有的操作都会启用正常的缓存机制,在某些用户行为下,缓存机制是可以正常跳过的

  1. 地址栏访问,链接跳转是正常用户行为,将会触发浏览器缓存机制
  2. F5刷新,浏览器会设置max-age=0,跳过强缓存判断,会进行协商缓存判断
  3. ctrl+F5刷新,跳过强缓存和协商缓存,直接从服务器拉取资源

尾声

既然选择了远方,那学就完了。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>