因工作需要,经常要修改HOSTS在正式与本地环境进行切换;发现chrome浏览器并不能实时的生效,但是ping的时候却没问题.
之前都是先在cmd
中执行 ipconfig /flushdns
,然后在设置中清除chrome缓存,但并不特别灵光.后来在一篇老外的博客中偶然发现了原因.
问题产生的原因
自己安装了Proxy SwitchySharp翻墙,实际上并不是HOSTS没生效,而是chrome浏览器对socket连接进行了缓存.
解决未安装Proxy SwitchySharp等代理工具时的缓存问题
正常情况下浏览器都会有缓存,需要让chrome不缓存只需要按F12打开调试工具,点击右上方的齿轮,在Settings中勾选
Disable cache(while DevTools is open)
即可.以后只需要打开调试工具就会自动清除缓存了.如果这么做还不好使,可以访问 <chrome://net-internals/#dns> 点击
clear host cache
来清除HOST缓存.
安装过代理工具后,清理SOCKET缓存
打开<chrome://net-internals/#sockets>,点击Flush
socket pools
;强制刷新socket连接池即可.
清除Windows系统DNS缓存
打开cmd, 执行 ipconfig /flushdns