Der Chrome-DNS-Cache hat eine negative TTL und verfällt nach einer Minute

526
MaverickD

Hier stellt sich eine ähnliche Frage: Warum hat Chrome TTL-1000 im DNS-Cache? aber es hat auch keine antwort.

Beim Besuch von Chrome: // net-internals / # dns sehe ich eine Menge DNS-Cache mit -1000Wert. Wenn ich auf eine Clear host cacheneue Website klicke und sie besuche, erhalte ich einen neuen Cache mit demselben negativen Wert und er läuft innerhalb einer Minute ab.

Kann jemand das bitte erklären?

1

1 Antwort auf die Frage

0
harrymc

Nach meiner eigenen Beobachtung ist die TTL-Spalte bedeutungslos und enthält immer den Wert von -1000. Ich kann nur vermuten, dass dies daran liegt, dass der DNS-Cache von Chrome nicht den Standards entspricht und seine eigene Sache tut. Siehe unten für mehr.

Der Unix-Stapelaustausch nach Chromium / Chrome speichert DNS-Anforderungen nicht mehr als eine Minute in Anführungszeichen von Bugs-Chromium - Ausgabe 164026 - DNS-TTL nicht vom 21. April 2011 geehrt, die am 10. Oktober 2013 als "WontFix" (veraltet / funktioniert) geschlossen wurde wie beabsichtigt)"

Es bringt dieses Zitat aus dem Fehlerbericht:

Der HostCache geht derzeit für alle positiven Ergebnisse von TTL = 60s aus. Bei einem asynchronen DNS-Resolver planen wir die Verwendung von TTL = max (60s, server_reported_ttl), dh mindestens 60s. Das Grundprinzip besteht darin, die Cache-Leistung zu verbessern. (Wenn ein CDN-NS TTL = 10-20s bereitstellt und es 30s + dauert, um alle untergeordneten Ressourcen abzurufen, müssen wir während des Ladens einer Seite häufig den gleichen Hostnamen erneut abfragen.)

Während Chrome nach einer Minute die Einträge im Cache als markiert [Expired], bleiben die Einträge einfach dort. Ich habe nicht versucht zu messen, wie lange, aber sie waren noch mindestens 15 Minuten nach dem Ablaufen dort.

Meine Schlussfolgerung ist, dass Chrome bei der Suche nach Geschwindigkeit einige Ecken und Kanten schneidet und sogar DNS-Regeln missachtet. Insbesondere wird der TTL-Wert ignoriert, wobei alle Einträge nach nur einer Minute als abgelaufen markiert werden. Dann werden jedoch die Einträge für einen unbekannten Zeitraum (für mich) aufbewahrt.

Der Wert in der TTL-Spalte und die [Expired]Markierung haben keine wirkliche Bedeutung. Chrome wird die Geschwindigkeit weiterhin wichtiger als viele andere Überlegungen.