Um die Seitenladezeiten für unsere Nutzer zu verbessern, kann Chrome Links auf der Google-Suchergebnisseite und anderen teilnehmenden Websites vorab abrufen, bevor der Nutzer darauf klickt.
Diese Funktion basiert auf einem CONNECT
-Proxy, der die IP-Adresse des Nutzers vor der Website verbirgt, die vorab abgerufen werden muss. Dadurch wird die Verbindungsherstellung aus der Sicht der Netzwerkadministratoren entfernt.
Gleichzeitig wissen wir, dass Netzwerkadministratoren möglicherweise Inhalte filtern müssen. Wir haben daher einen Mechanismus entwickelt, mit dem Netzwerkadministratoren dies weiterhin tun können, wenn der Nutzer auf einen vorab abgerufenen Link klickt.
Filter für Inhalte
Um die Privatsphäre des Nutzers zu schützen, führt Chrome beim Vorabruf von Links keine beobachtbaren DNS-Lookups durch. Wenn der Nutzer einen vorab abgerufenen Link aufruft, werden die Seitenressourcen aus dem lokalen Cache abgerufen, ohne dass eine sichtbare DNS-Suche durchgeführt wird. Eine Nebenwirkung ist, dass die Inhaltsfilterung möglicherweise nicht wie vorgesehen funktioniert, wenn der Nutzer zu einem vorab abgerufenen Link navigiert.
Damit Netzwerkadministratoren Inhalte bei diesen vorab abgerufenen Navigationsvorgängen filtern können, haben wir einen Signalmechanismus entwickelt, der Chrome anweist, einen DNS-Lookup auszuführen, wenn der Nutzer auf einen vorab abgerufenen Link klickt. Diese DNS-Suche erfolgt gleichzeitig und auf dieselbe Weise, als ob kein Prefetching stattgefunden hätte. Administratoren haben also dieselbe Möglichkeit, Inhalte zu filtern. Chrome pausiert das Laden der vorab abgerufenen Ressourcen aus dem Cache, bis dieser zweite DNS-Lookup erfolgreich ist. Wenn der Test fehlschlägt, verwendet Chrome die vorab abgerufenen Ressourcen nicht, sondern lädt die Seite auf die übliche Weise. Beachten Sie, dass dies zu Leistungseinbußen für den Nutzer führt, da Chrome auf den Abschluss der DNS-Suche warten muss.
Details zum Signalisierungsmechanismus
Bei Nutzern, die Seiten-Preloads nicht deaktiviert haben, führt Chrome beim Start oder bei einer Änderung der Netzwerkschnittstelle eine asynchrone DNS-Suche für dns-tunnel-check.googlezip.net
durch.
Hier sind die möglichen Ergebnisse für die dns-tunnel-check.googlezip.net
-Prüfung:
- Wenn die Antwort
NXDOMAIN
oderSERVFAIL
ist oder wenn einNOERROR
-Antwortcode zurückgegeben wird, der wederA
- nochAAAA
-Einträge enthält, geht Chrome davon aus, dass die Netzwerkadministratoren Einblick in die Aufrufe von vorab abgerufenen Seiten benötigen (siehe Preflight-Modus). - Wenn die Antwort einen anderen Wert hat, verwendet Chrome die vorab abgerufenen Ressourcen direkt und führt keine zusätzlichen DNS-Lookups durch, wenn der Nutzer zur vorab abgerufenen Seite navigiert.
Das Ergebnis dieser Prüfung gilt, bis Chrome neu gestartet wird oder sich die Netzwerkschnittstelle ändert. In diesem Fall wird eine neue DNS-Suche für dns-tunnel-check.googlezip.net
ausgelöst, die möglicherweise zu einem anderen Ergebnis führt.
Preflight-Modus
In diesem Modus führt Chrome vor dem Aufrufen einer Seite, die über den privaten Prefetch-Proxy vorab abgerufen wurde, eine DNS-Suche für die entsprechende Domain durch und wartet, bis die Antwort zurückkommt:
- Wenn die Antwort aus einer nicht leeren Menge von IP-Adressen besteht, fährt Chrome mit der Navigation fort und verwendet die vorab abgerufenen Ressourcen.
- Wenn die Antwort
REFUSED
(bevorzugt) oderNXDOMAIN
ist, wird die Navigation in Chrome nicht fortgesetzt und stattdessen wird die entsprechende DNS-Fehlerseite angezeigt.