浏览器缓存是一种机制,用于存储网页资源的副本,以便在用户再次访问同一页面时能够快速加载,减少服务器负载并提升用户体验。以下是浏览器缓存的主要概念和工作原理:
1. 缓存类型
浏览器缓存主要分为两类:
-
强缓存:浏览器直接从本地缓存中读取资源,不发送请求到服务器。通过响应头中的
Cache-Control
和Expires
字段控制。 -
协商缓存:浏览器向服务器发送请求,服务器根据资源的修改情况决定是否使用缓存。通过响应头中的
Last-Modified
和ETag
字段控制。
2. 缓存过程
-
首次请求:浏览器向服务器请求资源,服务器返回资源并附带缓存相关的响应头。
-
后续请求:
-
强缓存生效:浏览器检查缓存是否过期(通过
Cache-Control
或Expires
),如果未过期,直接从缓存中读取资源。 -
协商缓存生效:如果强缓存失效,浏览器向服务器发送请求,服务器根据
Last-Modified
或ETag
判断资源是否修改。如果未修改,返回 304 状态码,浏览器使用缓存;如果已修改,返回新资源。
-