【问题标题】:How Cache busting in ASP.net work with firefox?ASP.net 中的缓存破坏如何与 firefox 一起使用?
【发布时间】:2018-11-29 09:24:09
【问题描述】:

我已经按照这篇文章cache busting in asp.net实现了缓存清除 并对 chrome 和 firefox 浏览器做了一些测试。

我已经打开了两个浏览器的缓存文件夹并检查了缓存项数。 一旦我对 css 文件进行了修改并刷新浏览器窗口并检查了缓存项计数。 Chrome 的缓存项目数保持不变。但是 Firefox 的缓存数量会增加。

我的理解是——chrome它会更新现有的缓存对象,而firefox会在文件被修改后创建新的缓存对象。

我想知道的是,这是 Firefox 的默认行为,还是 Firefox 的缓存失效无法正常工作?

【问题讨论】:

    标签: asp.net firefox caching browser-cache


    【解决方案1】:

    如果您按照示例实现,则此行上的数字(表示文件的版本)将全部更改,如果您更改,所有浏览器都会重新读取 css 文件。

    <link rel="stylesheet" href="/content/v-634933238684083941/site.css" />
    

    如果你不使用这个版本号,而你只有一个像这样的 css 静态文件

    <link rel="stylesheet" href="/content/site.css" />
    

    那么在某些情况下浏览器可能会重新读取它,例如,如果您通过按 reload+shift 强制重新加载页面,或者即使您只是重新加载,如果浏览器清除其缓存,如果他检查日期文件的时间...您需要进行更多检查才能完全理解为什么不保留缓存 - 浏览器会尝试智能识别文件是否已更改并重新加载。

    【讨论】:

    • 是的,我的网址有版本号,并且我使用了 chromcacheview 和 mzcache 视图。从他们那里我了解到,一旦文件被修改,chrome 会更新现有的缓存对象,而 firefox 会创建新的缓存对象。
    • @sav 那么出价有什么不同我不明白...页面上的结果是一样的
    • 是的,但我担心的是,如果 firefox 为每次修改保存新的缓存对象,那不是性能问题吗?既然存在旧缓存 + 新缓存对象?
    • @sav firefox 相信文件 site.css 可能存在两次,因此保留它们。如果可以尝试使用这种缓存->/site.css?v=288372991最后加个参数。
    猜你喜欢
    • 2016-11-08
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    • 2020-05-19
    • 2020-04-14
    • 2012-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多