这是一个困扰我很久的问题。我在mac下开发前端代码。由于html5开发成为我工作的重点,浏览器也逐渐被取代谷歌浏览器清除DNS缓存的方法,成为首选浏览器。
作为前端开发者,切换本地主机环境是一件很自然且频繁的事情。比如这个域名在本地环境中待了一段时间,然后去QA环境,再指向生产环境。Mac和mac下有很多主机切换工具。也可以去npm找一些模块来做,或者干脆自己用node.js写个主机切换工具……这不是本文的重点。
但是,浏览器有一个大问题。它的 dns 缓存很棒(尤其是在 mac 版本上)。查了很多资料,发现即使手动强行清除浏览器缓存,如果在最后一次有效访问后80秒(或者70秒?找不到确切来源)内访问同一个地址,还是会有做一个dns缓存。
也就是说,如果要让新主机生效,就得忍受一分钟以上不访问你的目标url。对于那些急于看到结果的人,我们不能承受太多。
查阅了很多资料,找到了一个方法,也试过了谷歌浏览器清除DNS缓存的方法,方便分享给大家:
在地址栏中输入以下地址,然后点击“flush polls”按钮
chrome://net-internals/#sockets
然后,在地址栏中输入以下地址,点击“清除主机缓存”按钮
chrome://net-internals/#dns
你完成了!
评论留言