Nehmen wir an, wir haben eine Subdomain mit dem Namen www.foo.com, deren CNAME-Eintrag auf foo.bar.cc verweist. Foo.bar.cc wiederum hat einen A-Eintrag, der auf die IP-Adresse 1.2.3.4 zeigt.
Wenn ich jetzt einen DNS-Lookup von www.foo.com durchführe, erhalte ich eine Antwort, die so aussieht:
www.foo.com. IN CNAME foo.bar.cc.
foo.bar.cc. IN A 1.2.3.4
Meine Frage ist, in welchem Stadium ist foo.bar.cc gelöst? Wird dies vom rekursiven DNS-Server durchgeführt, bevor die Antwort an den Client zurückgesendet wird? Oder sendet der Client eine zweite Anfrage an den DNS-Server, diesmal für foo.bar.cc? Oder hängt es davon ab, ob der DNS-Server bereits einen zwischengespeicherten Eintrag für foo.bar.cc hat?
Ich frage, weil ein bestimmter rekursiver DNS-Server nur die erste Zeile zurückgibt, dh den CNAME nicht auflöst. Nach etwa 20 Sekunden enthalten nachfolgende Anforderungen für denselben Host jedoch beide Zeilen.
quelle
ADDITIONAL
Abschnitt der Antwort zurück. Gelegenheiten, in denen es nicht zurückgegeben wird, bedeuten, dass der Rekursor es nicht im Cache hatte - möglicherweise, weil der RekursorCNAME
und derA
Datensatz darauf hinweisen, dass er unterschiedliche autorisierende Server hat (die ursprüngliche Anfrage des Rekursors hat also nicht die positiveCNAME
zusätzlicheA
Antwort erhalten, nur dieCNAME
).