DNS: getaddrinfo() возвращает разные ответы в зависимости от конечной точки

Вероятно, вопрос нуб, но, пожалуйста, объясните мне, что изменится в разрешении имен, если я добавлю конечную точку в доменное имя? (файл hosts пуст, проблем не должно быть)

>>> print socket.getaddrinfo('google.com',0)[0][4][0]
216.58.212.238
>>> print socket.getaddrinfo('google.com.',0)[0][4][0]
64.233.167.113

1 ответ

Две разные вещи, добавляя конечную точку . классифицирует имя хоста как полное доменное имя (FQDN). Явное добавление этого предотвращает добавление поискового домена.

Т.е. с поисковым доменом установлено example.com. имя хоста, такое как google.com без конечной точки может быть решен как google.com.example.com., (Многие распознаватели активно предотвращают это и рассматривают любое имя хоста, которое содержит одну или несколько точек, как подразумеваемое полное доменное имя и будут добавлять конечный символ., А не поисковый домен).

Это, вероятно, не то, что происходит в ваших примерах google.com.

Причина, по которой последующие запросы на одну и ту же запись приводят к разным ответам, состоит в том, что было определено несколько записей, метод балансировки нагрузки, называемый циклическим DNS.

Другие вопросы по тегам