Web缓存与客户端缓存

Web缓存

WHAT

  • 位于Web服务器与客户端之间

  • 缓存会根据请求保存输出内容的副本

WHY

  • 减少延迟、减少网络消耗带宽

HOW

  • 服务器收到请求时,会在 200OK中回送该资源的 Last-Modified和 ETag头,客户端将该资源保存在 cache中,并记录这两个属性

  • 当客户端需要发送相同的请求时,会在请求中携带 If-Modified-Since和 If-None-Match两个头。两个头的值分别是响应中 Last-Modified和 ETag头的值

  • 服务器过这两个头判断本地资源未发生变化,客户端不需要重新下载,返回 304响应

客户端缓存

  • 浏览器缓存有效,不必再向服务器申请资源

  • 缓存过期,再次请求新资源