Теперь я понял концепцию FQDN, но небольшой эксперимент добавил мне в заблуждение. У меня 2 машины:
- Linux машина, которая удалена и подключена через VPN.
- Ma c машина, которая у меня физически со мной и подключена к моему домашнему интерфейсу rnet.
Я использовал python 2.7 socket
lib, чтобы получить полное доменное имя некоторых доменов, и вот результаты:
На моем Linux компьютере:
>>> socket.getfqdn('www.google.com')
'sfo07s17-in-f68.1e100.net'
На моем компьютере Ma c:
>>> socket.getfqdn("www.google.com")
'maa03s26-in-f4.1e100.net'
В приведенном выше случае результаты отличаются. Я пробовал с cs.gatech.edu
на обеих машинах, и в этом случае результаты совпадают:
Linux:
>>> socket.getfqdn('cs.gatech.edu')
'scouter.cc.gatech.edu'
Ma c:
>>> socket.getfqdn("cs.gatech.edu")
'scouter.cc.gatech.edu'
Затем я попытался использовать другой домен, состоящий из 3 частей:
Linux:
>>> socket.getfqdn('https://search.amazondelivers.jobs/')
'https://search.amazondelivers.jobs/'
>>> socket.getfqdn('search.amazondelivers.jobs')
'a23-48-12-88.deploy.static.akamaitechnologies.com'
Ma c:
>>> socket.getfqdn('https://search.amazondelivers.jobs/')
'https://search.amazondelivers.jobs/'
>>> socket.getfqdn('search.amazondelivers.jobs')
'a172-232-11-99.deploy.static.akamaitechnologies.com'
Результат, в котором имя хоста содержит https
соответствует, а без него - нет. Может кто-нибудь объяснить мне, что именно здесь происходит? Для меня это действительно важно понять, потому что я пытаюсь реализовать функциональность в Golang, чтобы получить полное доменное имя для любого заданного имени хоста.
За дополнительной информацией обращайтесь.