Недавно сделал скрипт на пайтоне, который через стандартную библиотеку socket обращается к DNS серверу и запрашивает ip-адрес того или иного сайта по заданному URL-адресу, в ответе от сервера я получаю белый ip-адрес машины, на которой сидит сайт, но мой вопрос заключается в том, откуда клиент узнает на каком именно порте сервера сидит интересующий его сайт, для дальнейшего подключения?
В спецификации про DNS не нашёл данный момент(Прошу указать на него, если он там имеется), или может моё не понимание более фундаментальное и этот момент вообще не касается DNS, блогадарю за разъяснение.
Некоторые сервисы (не веб-сайты) поддерживают указание порта в SRV-записях DNS.
Например, для XMPP можно прописать порты: https://wiki.xmpp.org/web/SRV_Records
Сайт всегда сидит на одних и тех же портах: TCP 80 и/или TCP 443. А раз порты известны, "вытягивать" их незачем.
Если же вдруг админ сайта решил повесить сайт на другой порт - тогда порт дописывается в адресной строке браузера после доменного имени либо IP-адреса сайта через двоеточие.
DNS за порты сайта не отвечает.
Хорошо, спасибо за ответ. Тогда уходя в сторону, можете пояснить как на стороне сервера реализуется дальнейшая маршрутизации на тот или иной сайт(Конечно если сервер хостит больше чем один сайт), или может просто ссылки или названия в какую сторону копать