为什么 DNS 解析器需要几秒钟才能找到 etc/hosts 中指定的 .local 域

为什么 DNS 解析器需要几秒钟才能找到 etc/hosts 中指定的 .local 域

etc/hosts(运行 Windows 7)这是我的 Windows文件中的条目之一

127.0.0.1 localhost mysite.mike mysite.local

首先,我注意到我的浏览器总是需要 2.01-2.04 秒(也就是 2 秒)来解析 DNS mysite.local。有时浏览器会缓存 DNS 条目,但一旦过期,这种情况就会再次发生。但是可以mysite.mike立即解决。

现在我检查了一下是否只有浏览器有这个问题,所以我使用tracert工具来查看它对 dns 解析的反应。结果与浏览器中的结果相同,尽管它花费的时间恰好是 1 秒而不是 2 秒。

~  time tracert -4 mysite.local                                                                                                        
Tracing route to [127.0.0.1]
over a maximum of 30 hops:
  1    <1 ms    <1 ms    <1 ms  [127.0.0.1]
Trace complete.
tracert -4 mysite.local  0.00s user 0.01s system 1% cpu 1.062 total

然而

~  time tracert -4 mysite.mike
Tracing route to [127.0.0.1]
over a maximum of 30 hops:
  1    <1 ms    <1 ms    <1 ms  [127.0.0.1]
Trace complete.
tracert -4 mysite.mike  0.00s user 0.01s system 32% cpu 0.047 total

我还注意到 tracert 不会尝试联系互联网上的 DNS 服务器(就像它事先知道 .mike 和 .local 域都是本地的一样),因为我的 FW 不会触发信息,而当我尝试 tracert 任何其他域时,例如mysite.other

是什么导致了这 1-2 秒的延迟?顺便提一下,Internet Explorer 花了 10 秒钟才解析这个域名

相关内容