浏览器缓存未过期
Browser cache not expiring
我正在 asp.net 开发我的应用程序,并希望在一段时间后强制刷新 .js 文件。为了在本地环境中进行测试,我对 web.config 文件进行了以下更改:
<httpProtocol>
<customHeaders>
<add name="Cache-Control" value="must-revalidate max-age=120" />
</customHeaders>
</httpProtocol>
据我了解缓存控制,基于上述设置,浏览器缓存应在 2:00 分钟后过期,任何新的回发都应向网络服务器发送请求以检查是否有较新版本的 .js 可用.我使用 fiddler 来监控网络流量,但我没有看到任何对 js 文件的请求。我使用的浏览器是Chrome。所以我使用开发工具来监控网络流量。我看到浏览器正在使用该文件的缓存版本。
是否有任何其他设置会强制浏览器使缓存文件过期?
您的 Cache-Control
无效,请尝试用逗号分隔值:must-revalidate, max-age=120
.
相关摘录自RFC 7234 Hypertext Transfer Protocol (HTTP/1.1): Caching:
Cache-Control = 1#cache-directive
cache-directive = token [ "=" ( token / quoted-string ) ]
来自 RFC 7230 Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing 的 ABNF 列表扩展:
A construct "#" is defined, similar to "*", for defining
comma-delimited lists of elements. The full form is "<n>#<m>element"
indicating at least <n> and at most <m> elements, each separated by a
single comma (",") and optional whitespace (OWS).
还要确保将新配置放在正确的位置。有关详细信息,请查看 .
我正在 asp.net 开发我的应用程序,并希望在一段时间后强制刷新 .js 文件。为了在本地环境中进行测试,我对 web.config 文件进行了以下更改:
<httpProtocol>
<customHeaders>
<add name="Cache-Control" value="must-revalidate max-age=120" />
</customHeaders>
</httpProtocol>
据我了解缓存控制,基于上述设置,浏览器缓存应在 2:00 分钟后过期,任何新的回发都应向网络服务器发送请求以检查是否有较新版本的 .js 可用.我使用 fiddler 来监控网络流量,但我没有看到任何对 js 文件的请求。我使用的浏览器是Chrome。所以我使用开发工具来监控网络流量。我看到浏览器正在使用该文件的缓存版本。
是否有任何其他设置会强制浏览器使缓存文件过期?
您的 Cache-Control
无效,请尝试用逗号分隔值:must-revalidate, max-age=120
.
相关摘录自RFC 7234 Hypertext Transfer Protocol (HTTP/1.1): Caching:
Cache-Control = 1#cache-directive
cache-directive = token [ "=" ( token / quoted-string ) ]
来自 RFC 7230 Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing 的 ABNF 列表扩展:
A construct "#" is defined, similar to "*", for defining comma-delimited lists of elements. The full form is "<n>#<m>element" indicating at least <n> and at most <m> elements, each separated by a single comma (",") and optional whitespace (OWS).
还要确保将新配置放在正确的位置。有关详细信息,请查看 .