Здоровый пользовательский агент просто заберет первый прокси-сервер, возвращенный файлом PAC, и попробует перенаправить трафик на IP-адрес, возвращаемый для своего доменного имени.
Теперь этот IP-адрес может не отвечать на SYN-пакеты из системы клиента на этом порту или может обслуживать собственную страницу, если у нее нет службы веб-прокси. В первом случае браузер переключится на вторичный прокси-сервер после нескольких тайм-аутов TCP, которые занимают почти пару секунд (но это может варьироваться в зависимости от конфигурации стека TCP/IP на клиенте). Во втором случае пользователь-агент/браузер счастлив, потому что получает ответ на запрос, даже если он не является веб-ресурсом, к которому он хочет получить доступ.
Для первого примера вы можете попробовать использовать 4.2.2.2:80 в качестве первого прокси-сервера и наблюдать. Это NTP-сервер, и он не прослушивает 80, поэтому вы скоро выберете время.
Для второго примера вы можете попробовать использовать purple.com:80 в качестве первого прокси-сервера. Это обычный веб-сервер. Независимо от того, какие запросы вы отправляете, он будет обслуживать собственную страницу, но средство визуализации файлов PAC не будет пытаться использовать вторичный прокси-сервер, потому что он получает ответ.
Теперь идет сценарий, в котором имя прокси-сервера разрешается к сокету IP: port, который открыт и работает служба веб-прокси. Рассмотрим случай, когда веб-серверу нравится только запросы от определенных IP-адресов, перечисленных в белом списке, и этот веб-прокси не указан в нем.
Прокси-сервер будет отвечать клиенту и попытаться установить соединение с предполагаемым веб-сервером, и сервер не ответит. Количество попыток, которые прокси-сервер делает для доступа к рассматриваемому веб-ресурсу, и время, в течение которого он поддерживает соединение с клиентом, зависит от реализации прокси-сервиса.
По истечении определенной продолжительности соединение будет отключено, и пользовательский агент клиента попробует следующий оператор прокси, доступный в файле PAC.
Это был ответ на то, как пользовательский агент, обычно веб-браузер, определяет, жив ли прокси-сервер.
Теперь, придя к вашему второму вопросу о балансировке нагрузки, это определенно неверно. По умолчанию браузер переключится на следующий оператор прокси только в описанных выше сценариях. Но если вы хотите, вы можете вызвать функцию myIpAddress() в вашем файле PAC и проанализировать часть подсети возвращаемого им IP-адреса. Затем вы можете применять отдельные прокси-операторы для разных подсетей. Я видел, что многие организации используют этот плохой метод для достижения балансировки нагрузки на основе IP-пакетов через конфигурацию файла PAC.
HTH!