Может кто-то направить меня к информации о точном поведении браузеров, когда браузер получает несколько записей A для данного имени хоста (скажем, ip1 и ip2), и одна из них недоступна.
Я заинтересован в точных деталях, таких как (но не ограничиваясь):
- Будет ли браузер получать 2 IP-адреса от операционной системы или только один?
- Какой ip будет пробовать браузер первым (случайный или всегда первый)? Теперь, допустим, браузер запустился с неисправного ip1
- Как долго браузер будет пробовать ip1?
- Если пользователь нажимает «стоп», пока он ждет ip1, а затем нажимает кнопку «Обновить»
- какой IP попробует браузер?
- Что произойдет, когда истечет время ожидания - он начнет пробовать ip2 или выдаст ошибку? (И если ошибка, какой ip будет пытаться браузер, когда пользователь нажимает обновить).
- Когда пользователь нажимает кнопку «Обновить», будет ли браузер пытаться выполнить новый поиск DNS?
Теперь давайте предположим, что браузер сначала попытался запустить ip2.
- Для следующего запроса страницы, будет ли браузер по-прежнему использовать ip2, или он может произвольно переключать ips?
- Как долго браузеры хранят IP-адреса в своем кэше?
- Когда браузеры отправляют новый запрос DNS и получают те же ips, ПРОДОЛЖАЕТ ли он использовать тот же известный IP-адрес, который работает, или процесс начинается с нуля, и он может попробовать любой из двух?
Конечно, все это может зависеть от браузера, а также может варьироваться в зависимости от версии и платформы, я был бы рад получить максимум деталей.
Цель этого - я пытаюсь понять, что именно пользователи будут испытывать, когда используется циклический перебор на основе DNS и один из хостов выйдет из строя.
Пожалуйста, я НЕ спрашиваю о том, насколько плоха балансировка нагрузки на DNS, и, пожалуйста, воздерживайтесь от ответов "не делайте этого", "это плохая идея", "вам нужно heartbeat / proxy / BGP / что угодно" и так далее.