浏览器缓存

115 阅读1分钟

HTTP缓存

先看几篇文章:

HTTP 缓存有哪几种

  • ETag 是通过对比浏览器和服务器资源的特征值(如MD5)来决定是否要发送文件内容,如果一样就只发送 304(not modified)
  • Expires 是设置过期时间(绝对时间),但是如果用户的本地时间错乱了,可能会有问题
  • CacheControl: max-age=3600 是设置过期时长(相对时间),跟本地时间无关。

Expires和CacheControl区别

  • CacheControl是时间长度
  • Expires是某个时间点,有buhg。比如用户自己修改了本地时间

ETag和CacheControl区别

  • ETag是有请求的,状态码一般为304
  • Cache是无请求的

强缓存和协商缓存

segmentfault.com/a/119000001…