通过浏览器控制缓存

发布: (2025年12月13日 GMT+8 05:22)
3 min read
原文: Dev.to

Source: Dev.to

Cache 是一种用于加速对经常使用的内容访问的机制。
在系统中实现缓存时,理想的做法是将其放置得尽可能靠近客户端,使用浏览器缓存来提升访问速度并减轻服务器负载。

Cache‑Control

Cache‑Control 头部允许控制浏览器如何存储和复用响应。以下是可使用的主要取值:

default

  1. 如果缓存中有有效的版本,则返回该版本。
  2. 如果缓存的版本已过期,浏览器会向服务器发送条件请求(例如 If-Modified-Since/ETag)。
    • 如果有更改,则返回新版本并更新缓存。
    • 否则,复用缓存中的版本。
  3. 如果缓存中未找到任何内容,则正常向服务器发起请求,并用响应填充缓存。

no-store

  • 浏览器忽略缓存:请求发送到服务器,响应被存储。

reload

  • 浏览器忽略缓存,向服务器请求,并用收到的响应更新缓存。

no-cache

  • 浏览器检查缓存;如果有版本,则向服务器进行验证。
    • 如果服务器指示有新版本,则返回该版本并更新缓存。
    • 否则,使用缓存中的版本。

force-cache

  • 浏览器首先尝试使用缓存:
    • 如果找到版本(即使已过期),也返回它。
    • 如果未找到,则向服务器请求,返回数据并将其存入缓存。

max-age=

以秒为单位定义响应被视为新鲜的时长。可与上述取值组合使用。例如:

Cache-Control: max-age=3600

Expires

除了 Cache-Control,还可以使用 Expires 响应头来指定响应在何时之后变为过期:

Expires: Thu, 25 Dec 2025 18:18:18 GMT

自指定时间起,资源将被视为已过期,浏览器应获取新版本。

Referências

  • (未提供其他参考资料)
Back to Blog

相关文章

阅读更多 »

使用复选框的环形蛋糕菜单

!Forem 标志https://media2.dev.to/dynamic/image/width=65,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%...