SwitchHosts是一个管理、切换多个 hosts 方案的工具。 它是一个免费开源软件。平时我们在开发的时候,到了自测这一步,都要将代码放到测试机上。这时候就可以将网站的资源位置转到测试机的IP上去,从而可以在互联网访问正常的网站的时候,加载自己测试机上的资源。
1. 问题
我们在开启SwitchHosts相应的IP转换的时候:
(1)浏览器上要改变的内容并没有生效;
(2)或者有时候我们关闭了IP转换的时候,浏览器上要改变的内容却还在生效;
(3)有时候过了一段时间这一切又恢复正常了。
2. 根源
这一切的根源是源自浏览器和电脑留下来的缓存。因为缓存问题,浏览器只是读取缓存,所以导致真正需要的请求发出去并没有请求到自己想要的资源。有的人说已经清理缓存了,但是你并没有清理得完整,真正需要清理的缓存还要涉及到DNS上的缓存和电脑host上的缓存。
3. 方案一 (下见方案二更便捷)
(1)DNS的查看
# windows
ipconfig/displaydns
# chrome浏览器
chrome://net-internals/#dns
(2)DNS的清理
如果要清理windows系统的话:
# windows
ipconfig/flushdns
如果要清理chrome浏览器的话:
4. 提示
如果是用chrome浏览器开发的话,可以先考虑清理浏览器的DNS缓存即可。如果实在还是出现了问题的话,再进一步清理系统的的DNS缓存。
5.方案二(建议)
(1)如果本地有谷歌浏览器,打开谷歌浏览器输入chrome://net-internals/#sockets
,点击Close idle sockets
和Flush socket pools
即可清除host的缓存(经常使用可收藏地址便捷打开哦),见下图:
(2)如果没有谷歌浏览器,但装有Fiddler或者Charles这两种抓包工具的话,可以重启它们即可,因为当抓包工具重新被打开的时候,它们会执行代理的初始化工作,会帮我们清除缓存,也就是一关一开即可解决问题。搞定之后可以抓包或者ping一下你的域名看马上生效哦~