HTTP WEB 的缓存行为

强缓存

定义:客户端直接从本地缓存中加载资源,而无需向服务器发起请求。

实现方式:HTTP 头部 Cache-Control(如 max-ageimmutable

  • max-age=31536000:缓存 1 年
  • immutable:资源不会改变,浏览器无需验证更新

浏览器检查缓存资源的有效期;如果资源在有效期内,直接使用缓存(状态码 200 (from disk cache) 或 200 (from memory cache));如果资源过期,则进入协商缓存。

协商缓存

定义:客户端通过验证机制与服务器确认资源是否更新。

实现方式:

客户端发送请求,附带验证头(如 If-None-Match 或 If-Modified-Since)。服务器检查资源是否更新,如果未更新,返回状态码 304 Not Modified,客户端继续使用缓存;如果已更新,返回状态码 200 OK 和新的资源内容。

posted @ 2024-12-25 11:02  JMCui  阅读(18)  评论(0)    收藏  举报