阻止Chrome缓存网站的DNS记录

时间:2010-12-01 07:15:47

标签: caching google-chrome dns hosts-file

Chrome会缓存DNS记录,并且在成功连接到我的网站后会忽略对hosts文件的更改(禁止重新启动)。启用DNS预取后,它甚至更加明显。

是否有任何页眉会指示Chrome不要缓存网站的DNS?与Cache-Control307 Temporary Redirect的响应状态一样?

4 个答案:

答案 0 :(得分:6)

我不确定这是否正是您正在寻找的东西,但这也让我感到烦恼的是切换开发环境,我偶然发现了这个内部的chrome页面,只需点击一下按钮即可清除缓存: 铬://净内部/#DNS

然后单击清除主机缓存。这不是自动的,但嘿,这是什么。

另请注意,操作系统可能会执行自己的缓存级别。 Linux不会缓存我认为的dns条目(至少对我来说清除chrome缓存已经足够了),但对于Windows或mac,您可能还需要刷新操作系统级别的DNS缓存。从Windows的命令行运行ipconfig /flushdns或从mac的命令行运行sudo dscacheutil -flushcache

答案 1 :(得分:4)

这可能是Google Chrome中的一个真正的错误。我创建了http://crbug.com/65570来跟踪它,但请将您可以想到的任何其他信息添加到错误中,以便我们确保正确理解您的问题。

听起来好像除了关闭Chrome之外唯一的解决方法是拔掉网络电缆,然后重新插入。当Chrome看到这样的事件时,它会丢弃它的套接字和dns缓存。当我们看到/ etc / hosts已经改变时,错误的正确解决方案可能会这样做。

如果您想知道修复错误的时间,请转到http://crbug.com/65570,然后点击错误编号旁边的星标。而且,就像我说的那样,请向bug添加任何其他信息。

答案 2 :(得分:2)

在我的情况下,我经常使用自定义主机文件从我的开发Web服务器和生产服务器切换,以便从chrome清除所有dns缓存信息我使用此过程,它立即在我需要的同一选项卡中工作加载更新的网站地址:

  1. 将此网址复制并粘贴到chrome:chrome:// net-internals /#dns
  2. 点击“清除主机缓存”按钮,然后点击窗口右上角的小黑箭头,点击“清除缓存”和“Flusk套接字”,然后新建地址将被明确加载。
  3. Chrome Dns panel

答案 3 :(得分:0)

我没有任何真正要添加的内容,只是因为我修改了/ etc / hosts以达到我的开发环境,所以这真的让我无法进行Web开发。