浏览器如何处理来自DNS的单个主机名的多个IP响应?

时间:2010-10-05 19:00:52

标签: browser network-programming dns

我想知道这是如何处理的,或者是否有标准?

2 个答案:

答案 0 :(得分:3)

浏览器缓存DNS响应几分钟,通常尝试与DNS响应中返回的第一个IP地址建立连接。在缓存过期之前使用相同的IP。

  

默认情况下,Internet Explorer会将DNS查找缓存30分钟,具体由DnsCacheTimeout注册表设置指定。 Firefox将DNS查询缓存1分钟,由network.dnsCacheExpiration配置设置控制。

     

来自:Yahoo Dev Network: Best Practices for Speeding Up Your Web Site

因此,要将多个IP地址用于负载平衡,DNS服务器必须更改响应中提供的地址的顺序,随机选择顺序或以顺序“round robin”方式。实际上,这通常是DNS服务器在响应具有多个A记录的主机名时的默认行为。

  

没有标准程序来决定请求应用程序将使用哪个地址 - 一些解析器尝试重新排序列表以优先考虑数字“更近”的网络。某些桌面客户端在连接超时30-45秒后会尝试备用地址。

     

来自:Wikipedia: Round robin DNS

答案 1 :(得分:0)

通常,他们会遍历响应并使用他们可以连接的第一个响应。