.net - 如何确保在部署新的 CSS 或 JavaScript 文件后客户端浏览器缓存已被刷新?

标签 .net iis browser-cache bundling-and-minification web-optimization

我正在使用 Microsoft ASP.NET Web 优化框架

如您所知,它可以将所有 JS/CSS 连接到一个文件中。您可以在配置中定义输出文件名,并确保用户浏览器将获取更新的 JS/CSS,它添加了类似 v=yUVjELgc9foFnhZgsvMfx2DhVRLKWK-w69IoCVhJ_aM1

的参数

链接看起来像:

src="/scripts/js/jquery?v=yUVjELgc9foFnhZgsvMfx2DhVRLKWK-w69IoCVhJ_aM1"

听说不是所有的浏览器都支持那个参数,不刷新缓存。

我可以确定所有浏览器都会使用这种方法更新缓存,还是我必须手动生成新文件名?是否有任何表格,我可以在其中查看不支持的浏览器?

谢谢

最佳答案

I heard that not all browsers supports that parameter and not refreshing cache.

浏览器不需要“支持”它。

目的是更改脚本的 URL。

由于 URL 不同,该 URL 处的资源不会被缓存。

要使该技术无法正常工作,浏览器必须有一个严重的错误(在该错误中它使用特殊大小写的查询字符串来进行缓存处理)。这会破坏大量网络,因为(例如)在谷歌上搜索“小猫”,然后搜索“小狗”会显示小狗搜索的缓存小猫结果。

关于.net - 如何确保在部署新的 CSS 或 JavaScript 文件后客户端浏览器缓存已被刷新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14522262/

相关文章:

c# - 理解正确的 http keep-alive 实现

asp.net - 在 ASP.NET MVC 3 中上传大于 2GB 的文件

nginx 缓存 index.html 强制重新加载

cakephp - CakePHP 中的整页缓存

android - 是否可以从 webview 缓存中保存/检索特定数据?

.net - .Net Thread.Suspend已过时。寻找替代品

C# - 检测混淆器

.net - SSD 驱动器上奇怪的目录删除行为

asp.net - 身份验证类型协商与 NTLM

iis - http ://localhost:port always redirecting to https://localhost