You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

带有过去Last-Modified的Cache-Control Headers:浏览器是否不缓存请求?

浏览器缓存疑问解答

我在执行CURL请求时获取到以下HTTP响应头,请问我的假设是否正确:由于Last-Modified时间处于过去,浏览器不会缓存该请求?

➜ curl -I https://dommain.com/assets/sounds/intro.mp3                                                                                               
HTTP/2 200 
date: Sat, 12 Nov 2022 23:39:39 GMT
content-type: audio/mpeg
content-length: 33976
last-modified: Tue, 01 Jan 1980 00:00:01 GMT
etag: "12cea601-84b8"
cache-control: no-cache
accept-ranges: bytes
strict-transport-security: max-age=15724800; includeSubDomains

你的假设不正确,浏览器是否缓存该请求的核心决定因素是cache-control: no-cache响应头,而非Last-Modified的时间:

  • no-cache的含义并非禁止缓存,而是浏览器可以将资源存入本地缓存,但每次要使用该缓存资源时,必须先向服务器发起验证请求(通过ETag或Last-Modified),确认资源未更新后才能复用缓存。
  • Last-Modified时间处于过去完全不影响缓存行为,它只是服务器用来判断资源是否新鲜的标识之一。即使这个时间很早,浏览器依然会缓存资源,只是后续请求时会带着这个时间去服务器验证。

内容的提问来源于stack exchange,提问作者DmitrySemenov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 08:56:05