当浏览器获得给定主机名的多个A记录(例如ip1和ip2)并且其中之一不可访问时,有人可以引导我了解有关确切浏览器行为的信息。
我对EXACT的详细信息感兴趣,例如(但不限于):
- 浏览器将从OS获得2个IP,还是仅获得1个?
- 浏览器将首先尝试哪个IP(随机或始终是第一个)?现在,假设浏览器以失败的ip1开始
- 浏览器将尝试ip1多长时间?
- 如果用户在等待ip1时单击“停止”,然后单击“刷新”
- 浏览器将尝试使用哪个IP?
- 超时时会发生什么-它会开始尝试ip2还是给出错误?(如果出现错误,当用户单击刷新时,浏览器将尝试使用哪个ip)。
- 当用户单击刷新时,任何浏览器都会尝试新的DNS查找吗?
现在,假设浏览器首先尝试运行ip2。
- 对于下一页请求,浏览器仍将使用ip2,还是可能会随机切换ips?
- 浏览器将IP保留在其缓存中多长时间?
- 当浏览器发送新的DNS请求并获得相同的ips时,会继续使用相同的已知工作IP还是继续进行,或者该过程从头开始,并且可以尝试两者中的任何一个?
当然,所有内容都可能取决于浏览器,并且版本和平台之间也可能有所不同,我很乐意拥有最多的细节。
这样做的目的-我试图了解当使用基于循环DNS的主机且其中一台主机发生故障时,用户将确切体验什么。
拜托,我不是在问DNS负载平衡有多糟糕,请不要回答“不要这样做”,“这是个坏主意”,“您需要心跳/代理/ BGP /任何东西”等等。