如何才能让Chrome停止缓存重定向?
我正在开发一个使用redirects
(用于漂亮的URL)的Web应用程序。
这让我很难排除故障。
例如,如果我把/this
重定向到/that
,然后把代码改成不重定向/this
。Google Chrome浏览器仍然会重定向到/that
。就像重定向被缓存了一样。有什么方法可以关闭这个功能吗?
我正在开发一个使用redirects
(用于漂亮的URL)的Web应用程序。
这让我很难排除故障。
例如,如果我把/this
重定向到/that
,然后把代码改成不重定向/this
。Google Chrome浏览器仍然会重定向到/that
。就像重定向被缓存了一样。有什么方法可以关闭这个功能吗?
Google Chrome浏览器会缓存你的301重定向。要绕过这个问题,并保持标签页打开,你只需要清除浏览器的缓存。> 隐私>> 点击清除浏览数据…..
无论你选择了什么,确保 “缓存图片和文件 "是勾选的选项。在那里,浏览器关闭后,缓存会被刷新。
有一个“wontfix "Chromium的bug关于这个问题,
这是预期的行为。 3.如果是子资源,重载页面会导致服务器重新验证重定向。 3.你不一定非要把整个缓存丢掉。只要按照重定向,删除最后一个小时就可以了。
如果你在DevTools中启用了 “禁用缓存(当DevTools打开时)"选项,那么只需打开DevTools就足以绕过重定向缓存,而不需要不断地丢掉你的会话。
进入chrome://net-internals,在最右边打开下拉菜单,选择 “清除缓存"。截至48版,这是唯一对我有效的清除缓存301(永久重定向)的方法。
更新:不幸的是,从71版(2018年12月)开始,谷歌已经删除了net-internals功能。
自2017年12月推出的Chrome 63以来,所有以.dev(和.foo)结尾的域名都被迫通过预载的HTTP严格传输安全(HSTS)头使用HTTPS。 https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/
要清除Chrome浏览器中的单个页面的重定向缓存,请查看源浏览器,然后进行硬刷新(CTRL + SHIFT + R)
。
正如这里所描述的那样 (https://stackoverflow.com/questions/25277457/google-chrome-redirecting-localhost-to-https) 可能是由HSTS造成的
为了解决这个问题,我做了以下工作。
如果你只是想检查重定向是否如预期的那样工作,可能使用wget或类似的命令行工具更容易。你可以检查响应头和重定向有没有被缓存。
最简单的方法,硬刷新,按住Ctrl
+R
几秒钟。这样可以清除重定向以及静态资源。
如果你不想失去整个缓存,而你的重定向仍然卡在缓存中,你可以尝试访问view-source: 版本的url。这为我刷新了相同的URL的重定向缓存。
如果你可以控制页面,如果你不希望浏览器缓存页面,那么正确的方法是添加以下标题:
Cache-Control: no-cache
但仅仅这样做并不能立即起作用,因为浏览器仍然从缓存中加载;做完这个修改后,按照这个答案重新加载页面 https://superuser.com/a/924748/100398
C:\Users\DBashyal>ipconfig /flushdns
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
&001