通过遵循本文cache busting in asp.net,我已经实现了缓存清除 并对chrome和firefox浏览器进行了一些测试。
我已经打开了两个浏览器的缓存文件夹,并检查了缓存项计数。 一旦我对一个css文件进行了修改,并刷新了浏览器窗口,并检查了缓存项数。 Chrome的缓存项计数保持不变。但是Firefox缓存数量增加了。
我了解的是-chrome会更新现有的缓存对象,并且一旦文件被修改,firefox就会创建新的缓存对象。
我想知道的是,这是firefox的默认行为,还是缓存清除对Firefox而言无法正常工作?
答案 0 :(得分:0)
如果以示例的形式实现,则此行上的数字(代表文件的版本)将全部更改,如果更改,所有浏览器将重新读取css文件。
<link rel="stylesheet" href="/content/v-634933238684083941/site.css" />
如果您不使用此版本号,而只是一个像CSS这样的静态文件
<link rel="stylesheet" href="/content/site.css" />
然后,在某些情况下,浏览器可能会重新读取它,例如,如果您通过按reload + shift强制重新加载页面,或者即使您只是重新加载,如果浏览器清除了其缓存,如果他检查了日期,文件时间...您需要进行更多检查才能完全理解为什么不保留缓存-浏览器会尝试智能识别文件是否已更改并重新加载。