在 Nginx 中,设置 expires
指令主要是用来告诉浏览器和其他缓存代理(如CDN)在特定时间内缓存资源。使用 expires 30d;
后,浏览器会在30天内使用缓存的版本,而不会每次请求都向服务器询问文件。
文件更新的情况
文件内容更改: 如果您修改了文件的内容,但是仍然使用相同的文件名,用户访问该资源时,他们将仍然会得到缓存中的旧版本,直到过期时间结束(即30天后)。
通过文件名或查询字符串进行版本控制: 为了确保用户获取到最新的文件,通常有两种常见做法:
修改文件名:例如,如果您有一个 JavaScript 文件
app.js
,当您做了更新后,可以将其重命名为app.v2.js
或类似。这使得浏览器将其视为一个全新的请求。添加版本号或查询字符串:您可以通过在 URL 中添加查询参数来强制刷新,例如从
/js/app.js
改为/js/app.js?v=2
。这样,即使原始文件没有更改,URL 的不同也会导致浏览器请求新的资源。
总结
如果希望让用户能够及时获得最新内容,需要结合版本控制策略。简单地设置 expires
会导致旧版文件被缓存,但配合适当的策略,则可以确保更新后能快速反映到用户端。
内容由零声教学AI助手提供,问题来源于学员提问