Допустим, у нас есть поддомен под названием www.foo.com, в котором есть запись CNAME, указывающая на foo.bar.cc. Foo.bar.cc в свою очередь имеет запись A, указывающую на IP-адрес 1.2.3.4.
Теперь, если я выполню поиск DNS на www.foo.com, я получу ответ, похожий на этот:
www.foo.com. IN CNAME foo.bar.cc.
foo.bar.cc. IN A 1.2.3.4
У меня вопрос, на каком этапе решается foo.bar.cc? Это делается рекурсивным DNS-сервером перед отправкой ответа клиенту? Или клиент отправляет второй запрос к DNS-серверу, на этот раз для foo.bar.cc? Или это зависит от того, есть ли на DNS-сервере уже кэшированная запись для foo.bar.cc?
Я спрашиваю, потому что один конкретный рекурсивный DNS-сервер возвращает только первую строку, то есть он не разрешает CNAME. Однако спустя примерно 20 секунд последующие запросы для одного и того же хоста будут включать обе строки.