Да, большинство браузеров за последние 5-10 лет пробуют другие записи A, если один из них не отвечает. Это иногда называется «попытка браузера» или «попытка клиента». Вы в значительной степени только найти материал об этом в контексте различных браузеров подвигов , которые эта функция позволяет с сайтами , не используя его (см DNS переприсваивания и DNS пиннинг , анти-Dns пиннинг, анти-анти-Dns пиннинг, анти-анти -анти-днс пиннинг и тд). Вид плохой репутации, но это доказывает, что она существует.
Практически каждый браузер действительно получает полный список записей А и действительно проверяет другие, не работает ли одна из них. Можно ожидать, что у каждого клиента будет 30-секундное ожидание при первой попытке доступа к сайту, когда сервер не работает, пока он не подключится к рабочему адресу. Браузер затем кеширует, какой адрес работает, и продолжит использовать этот адрес для будущих запросов, если только он не завершится с ошибкой, затем ему придется снова выполнить поиск по списку. Так что 30 секунд ожидания по первому запросу, штраф в дальнейшем.
Но это не то, что вы обязательно хотите использовать, у него будет много предостережений по поводу совместимости браузера, совместимости с ОС, прокси-совместимости, заголовков контроля кэша, которые будут иметь странные последствия, независимо от того, запоминает ли он, какие IP-адреса отключены или начинает иметь в течение 30 секунд ожидания при каждом запросе люди, пишущие пользовательские клиенты для вашего сайта, в конечном итоге будут использовать gethostbyname вместо getaddrinfo и не смогут справиться с отработкой отказа, всевозможными потенциальными проблемами.
Вы также не можете полагаться на несколько записей A, чтобы разрешить «главный» и «подчиненный» серверы, потому что вы никогда не будете знать, какой адрес браузер выберет из списка. Все они должны быть так же способны обрабатывать посетителей, если они бегут, потому что любой может получить трафик, если он работает. Браузер может подумать, что ваш третий сервер из списка является наиболее привлекательным, может быть, он выглядит ближе всего, и он выберет тот, хотя все три еще работают.
Но если вы можете жить с ограничениями и иметь достаточно простую систему HTTP, с которой вы можете предсказать взаимодействие браузера, это сработает.
О, вам также придется иметь дело со многими людьми, которые говорят вам, что этого не существует (поскольку это было правдой 15 лет назад). Но вы можете попробовать telnet-соединение с доменным именем с несколькими записями A, некоторые с мертвыми IP-адресами и некоторыми хорошими, если вам нужно это доказать (да, даже старый добрый telnet теперь использует getaddrinfo и обрабатывает несколько записей A в эти дни изящно) - он распечатает хороший список IP-адресов, которые он пробует, пока, наконец, не преуспеет.