HTTP的协商缓存策略

http缓存策略 - 协商缓存(对比缓存)

  • 服务器端缓存策略(即判断是否可以缓存)
    • 服务端判断一个资源是否被缓存
    • 服务器判断客户端资源,是否和服务端资源一样
    • 如果一致则返回304(服务器告诉客户端资源没有被修改,可以直接用本地缓存),否则返回200和最新的资源
    • 浏览器再次访问服务器时,会带着资源标识
    • 服务器端每次返回的除了资源,还有资源标识
  • 资源标识
    • 在Response Headers中,有两种
      • Last-Modified资源的最后修改时间(服务器返回时通过Last-Modified,客户端向服务器发起请求时,带的是If-Modified-Since)
      • Etag资源的唯一标识(一个字符串,类似人类的指纹,根据变动变化,就是重复生成,但是内容不变,Etag也不变)(服务器返回时通过Etag,客户端向服务器发起请求时,带的是If-None-Match)
      • Last-Modified和Etag可以共存
      • 优先使用Etag,Last-Modified只能精确到秒级
      • 如果资源被重复生成,而内容不变,则Etag更精确

你可能感兴趣的:(HTTP的协商缓存策略)