浏览器缓存 Last-Modified / Etag / Expires / Cache-Control 详解
💡
原文中文,约1700字,阅读约需4分钟。
📝
内容提要
浏览器缓存是指在浏览网站时,浏览器会在本地存储一个副本,以便下次访问同个网址时可以直接使用本地缓存。服务器通过HTTP Cache Headers来控制缓存行为,减轻服务器负担,提高网站性能。常用的缓存控制方式有Expires和Cache-Control。条件请求可以通过Last-Modified/If-Modified-Since和ETag/If-None-Match来判断资源是否有变化,从而节省传输数据量。开发者可以利用Last-Modified和ETags来提高性能。
🎯
关键要点
- 浏览器缓存是指在本地存储网站副本,以便下次访问时直接使用缓存。
- 服务器通过HTTP Cache Headers控制缓存行为,减轻负担,提高性能。
- 常用的缓存控制方式有Expires和Cache-Control。
- Expires指定缓存有效期,但可能因时间不一致导致失效不准确。
- Cache-Control声明相对有效时间,避免时间不一致问题,适用于HTTP1.1。
- 条件请求通过Last-Modified/If-Modified-Since和ETag/If-None-Match判断资源变化。
- Last-Modified标记资源最后修改时间,节省数据传输量。
- ETag是资源的实体值,客户端通过If-None-Match查询更新。
- 开发者可结合使用Last-Modified和ETags提高性能,利用客户端缓存。
➡️