如何实际禁用浏览器缓存

时间:2013-10-31 19:45:52

标签: caching browser

我想知道,如何实际禁用客户端缓存?

这似乎是一个重复的问题,但随着网络浏览器不断变化和不断变化,我不相信当缓存功能被停用时,所有这些(或其中任何一个)实际上都按预期运行。

在过去7到8年间开发Web应用程序时,我经常遇到一些问题,我在浏览器中禁用了缓存,但却发现它确实缓存了javascript资源(或css)。我将Shift + F5(或shift refresh / ctrl + shift + r)永久地刻录到我的手中作为反射刷新页面到这样的程度,以至于我需要主动思考不以这种方式刷新页面。即使我偶然浏览(不工作),我也会转移+刷新!不过,我不相信这总是按照我的期望去做。

我已将Chrome中的所有缓存功能设置为关闭。我仍然经常遇到被缓存的资源(javascript),在某种程度上我甚至不再使用Chrome作为开发工具了。正如其他人所观察到的,Safari清除缓存的选项仍然可以在刷新后返回缓存数据。 Firefox在版本之间的缓存行为方面相当不一致。 Firebug for Firefox有时也会返回过时的资源。我发现实际清除缓存的唯一工具是Firefox web开发人员工具包插件的“禁用缓存”选项。

这是为什么?为什么我可以花一个小时不断地做出改变并按下shift + f5来观察它们,只是为了弄清楚为什么我的改变没有抓住?当我向同事求助时,自然地,所谓的非活动缓存总是会到期!

大多数情况下,浏览器的缓存功能将按预期使用页面内容。例如,如果我在Chrome或Firefox中禁用了所有缓存功能,则rss Feed或网页等的内容将始终以新的和未缓存的方式返回。像CSS / JS这样的资源仍然经常被退回。我在Mac OSX,Ubuntu Linux和MS Windows环境中工作,并且主要使用PHP和Ruby / Rails,并且几乎只使用FF / Chrome,但偶尔我必须使用Safari(我只会触摸像Internet Explorer这样的东西当被迫)。无论如何,这个禁用缓存问题对我来说无处不在。我觉得我被迫只在Firefox中开发,并将web开发人员工具包设置为禁用所有缓存。

有人能帮助我理解为什么吗?

0 个答案:

没有答案