ETag 浏览器缓存中的作用?
约 438 字大约 1 分钟
2025-03-15
ETag(Entity Tag
)是一个由服务器生成的用于标识资源的唯一标识符。
ETag 在浏览器缓存中的作用是协商缓存的一部分。当浏览器发送请求时,会将上一次请求返回的 ETag 值通过 If-None-Match 请求头字段发送给服务器。服务器使用这个值与当前资源的 ETag 进行比较,以判断资源是否发生了变化。
如果服务器发现资源的 ETag 值与浏览器发送的匹配,并且资源没有发生变化,服务器会返回状态码 304 Not Modified,表示资源未修改。浏览器收到这个响应后,可以直接从缓存中获取资源,而无需重新下载。
ETag 能够精确地确定资源是否发生了变化,相对于 Last-Modified(最后修改时间)来说更加准确。如果资源的内容发生了任何改变,服务器会为该资源生成新的 ETag
值,而 Last-Modified 只能以秒级别的精度表示时间,可能无法捕捉到非常小的修改。
在大多数情况下,浏览器会使用 Cache-Control
和 ETag
(或 Last-Modified)一起使用,以提供更精确和可靠的缓存控制。当 Cache-Control 的缓存过期策略失效时,浏览器会使用 ETag 和服务器进行协商,以便确定是否可以使用缓存的副本。如果服务器返回 304 Not Modified,浏览器就可以直接使用缓存,并避免重新下载资源。这样可以减少网络带宽的使用,并提高页面加载速度和性能。
更新日志
2025/8/24 08:17
查看所有更新日志
e7112
-1于