HTTP 缓存策略学习资料

HTTP缓存机制其实是提高访问速度和解决信息不同步的一种机制。这种信息不同步在生活中很常见,很多解决思路我们已经司空见惯,带着这种思维,我们可以很好的理解HTTP缓存机制。HTTP缓存机制要点如下:

  1. HTTP缓存机制分为强制缓存和协商缓存两类。
  2. 强制缓存的意思就是不要问了(不发起请求),直接用缓存吧。
  3. 强制缓存常见技术有ExpiresCache-Control
  4. Expires的值是一个时间,表示这个时间前缓存都有效,都不需要发起请求。
  5. Cache-Control有很多属性值,常用属性max-age设置了缓存有效的时间长度,单位为,这个时间没到,都不用发起请求。
  6. immutable也是Cache-Control的一个属性,
  7. Cache-Controlmax-age优先级比Expires高。
  8. 协商缓存常见技术有ETagLast-Modified
  9. ETag其实就是给资源算一个hash值或者版本号,对应的常用request headerIf-None-Match
  10. Last-Modified其实就是加上资源修改的时间,对应的常用request headerIf-Modified-Since,精度为
  11. ETag每次修改都会改变,而Last-Modified的精度只到,所以ETag更准确,优先级更高,但是需要计算,所以服务端开销更大。
  12. 强制缓存和协商缓存都存在的情况下,先判断强制缓存是否生效,如果生效,不用发起请求,直接用缓存。如果强制缓存不生效再发起请求判断协商缓存。
  13. 表示这个资源这辈子都不用再请求了,但是他兼容性不好,Cache-Control其他属性可以参考

 

showtooltip

上一篇:PHP实现大文件断点下载


下一篇:MYSQL: JOIN (SELECT … ) ue ON 1=1 的含义