有什么方法可以禁用此“功能”吗?
例如,如果发出的请求是http://localhost/foo.html
我已将根地址指定为“ 301”,则所有随后的请求将foo.html
完全绕过Web服务器,而ffox 5将检查其缓存,并读取该URL先前为“ 301”,然后重定向甚至不检查更改。
如果我foo.html
从301 开始停止运行,则必须清除Firefox的缓存才能“修复”此问题。
Chrome,IE和Firefox的早期版本不执行此操作。
有什么方法可以禁用此“功能”吗?
例如,如果发出的请求是http://localhost/foo.html
我已将根地址指定为“ 301”,则所有随后的请求将foo.html
完全绕过Web服务器,而ffox 5将检查其缓存,并读取该URL先前为“ 301”,然后重定向甚至不检查更改。
如果我foo.html
从301 开始停止运行,则必须清除Firefox的缓存才能“修复”此问题。
Chrome,IE和Firefox的早期版本不执行此操作。
Answers:
301只是普通的可缓存响应代码。 http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2说:
This response is cacheable unless indicated otherwise.
因此,如果您不希望对其进行高速缓存,则服务器需要通过用于控制高速缓存行为的普通标头进行其他指示。
您也可以手动清除缓存。
在Firefox中,如果您具有“ Web开发人员”工具栏插件。您可以每次单击禁用->禁用缓存->检查页面的新版本。然后重新加载URL,它将刷新您的缓存。因此,您无需清除完整的缓存。
根据cptstubing06的注释,以下内容可以帮助清除缓存:
about:config
以打开配置设置。browser.cache
然后按Enter以过滤设置。browser.cache.check_doc_frequency
。3
为1
。OK
。Firefox现在应该重定向到新的301页面,不再从缓存中获取重定向的页面。
Web Developer
在工具下带有其自己的菜单,而不是附加组件。该插件也被称为Web Developer
,但会显示在“工具”菜单中Web Developer Extension
,可以在此处下载:addons.mozilla.org/en-us/firefox/addon/web-developer。
Web Developer Extension
临时控制firefox的更改行为,以始终检查是否有新版本,然后将其重新设置为正常设置。这在Web Develoepr Extension-> Disable-> Disable Cache->每次检查页面的新版本->每次检查页面的新版本下。
DNS over HTTPS
此功能才能按预期工作。
我刚刚遇到了这个问题,对我来说是两个问题。
该特定域名是通过Cloudflare路由的,因此我不得不将其设置为开发模式。我认为Cloudflare正在缓存301重定向,因此它不必将请求发送到服务器。此步骤可能显然不适用于您。
然后,只需转到“工具”->“选项”,单击右上角的“高级”按钮,选择“网络”选项卡,然后单击“缓存的Web内容”部分下的“立即清除”,即可清除Firefox缓存(版本11)。请注意,我的缓存已设置为0,但是我仍然需要单击“立即清除”按钮以使重定向停止缓存。
我想知道是否有人可以对此进行验证。
在将过时的重定向缓存了一个多月并重新启动之后,我已经找到了适用于Firefox 26的解决方案。
仅该站点的所有缓存页面,图像和重定向将从缓存中删除。这使您可以清除开发网站的重定向,而无需清除其余的缓存。
附带说明一下,我认为Firefox最多最多只能缓存几天的重定向。将它们缓存一个月以上可以使一个简单的错误成为一个大问题。
Firefox的最新版本中内置的开发人员工具为此提供了解决方案。首先,在开发窗格打开时关闭缓存:
Advanced Settings
检查选项下Disable Cache (when toolbox is open)
现在,只要您想强制刷新缓存的页面,就可以在F12开发工具箱打开的情况下加载/刷新页面。Firefox将绕过缓存并从服务器获取新数据。
我更喜欢这种方法,因为它不会更改浏览器在“常规”非调试浏览中的行为,并且您不必冒险忘记将全局设置恢复为其原始值。
在Firefox 39中验证
301表示已永久移动。因此,我认为缓存响应是合理的。
您是否尝试设置cache-control
和expires
标头?
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9
在Firefox 38.0版中
Menu -> Edit -> Preferences -> Advanced -> Network -> Clear Now
为我工作。
301表示已永久移动且可缓存,因此我认为这是浏览器的“正确”行为。您应该使用303 See Other。