X-DNS-Prefetch-Control header

Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.

Der HTTP X-DNS-Prefetch-Control Antwort-Header steuert das DNS-Prefetching, eine Funktion, bei der Browser proaktiv die Namensauflösung von Domains für Links durchführen, denen der Benutzer möglicherweise folgen möchte, sowie die URLs für im Dokument referenzierte Elemente, einschließlich Bilder, CSS, JavaScript usw.

Die Absicht ist, dass das Prefetching im Hintergrund durchgeführt wird, sodass die DNS-Auflösung abgeschlossen ist, wenn die referenzierten Elemente vom Browser benötigt werden. Dies reduziert die Latenz, wenn der Benutzer beispielsweise auf einen Link klickt.

Header-Typ Antwort-Header
Unzulässiger Anforderungs-Header Nein

Syntax

http
X-DNS-Prefetch-Control: on
X-DNS-Prefetch-Control: off

Direktiven

on

Aktiviert das DNS-Prefetching. Dies ist das Verhalten von Browsern, die diese Funktion unterstützen, wenn dieser Header nicht vorhanden ist.

off

Deaktiviert das DNS-Prefetching. Dies ist nützlich, wenn Sie die Links auf den Seiten nicht kontrollieren oder wissen, dass Sie keine Informationen an diese Domains weitergeben möchten.

Beschreibung

DNS-Anfragen sind in Bezug auf Bandbreite sehr klein, aber die Latenz kann ziemlich hoch sein, insbesondere in mobilen Netzwerken. Durch spekulatives Prefetching von DNS-Ergebnissen kann die Latenz zu bestimmten Zeiten erheblich reduziert werden, z. B. wenn der Benutzer auf den Link klickt. In einigen Fällen kann die Latenz um eine Sekunde verringert werden.

Die Implementierung dieses Prefetchings in einigen Browsern ermöglicht es, dass die Namensauflösung parallel (anstatt seriell) zum Abruf des eigentlichen Seiteninhalts durchgeführt wird. Dadurch verursacht der hochlatenzbehaftete Namensauflösungsprozess keine Verzögerung beim Abrufen von Inhalten.

Die Ladezeiten von Seiten – insbesondere in mobilen Netzwerken – können auf diese Weise messbar verbessert werden. Wenn die Domain-Namen für Bilder im Voraus aufgelöst werden können, bevor die Bilder angefordert werden, können Seiten, die viele Bilder laden, eine Verbesserung der Ladezeit von 5 % oder mehr erfahren.

Konfigurieren des Prefetchings im Browser

Im Allgemeinen müssen Sie nichts tun, um das Prefetching zu verwalten. Der Benutzer könnte jedoch wünschen, das Prefetching zu deaktivieren. In Firefox kann dies durch Setzen der network.dns.disablePrefetch-Einstellung auf true erfolgen.

Standardmäßig wird auch das Prefetching der eingebetteten Link-Hostnamen bei über HTTPS geladenen Dokumenten nicht durchgeführt. In Firefox kann dies durch Setzen der network.dns.disablePrefetchFromHTTPS-Einstellung auf false geändert werden.

Beispiele

Ein- und Ausschalten des Prefetchings

Sie können den X-DNS-Prefetch-Control-Header serverseitig senden oder von einzelnen Dokumenten aus unter Verwendung des http-equiv Attributs im -Element, folgendermaßen:

html

Sie können diese Einstellung rückgängig machen, indem Sie content auf "on" setzen.

Erzwingen der Suche nach bestimmten Hostnamen

Sie können die Suche nach bestimmten Hostnamen erzwingen, ohne spezifische Anker mit diesem Hostnamen bereitzustellen, indem Sie das rel Attribut im -Element mit einem Linktyp von dns-prefetch verwenden:

html

In diesem Beispiel wird der Domain-Name www.mozilla.org vorab aufgelöst.

Auf ähnliche Weise kann das Link-Element verwendet werden, um Hostnamen ohne Angabe einer vollständigen URL aufzulösen, indem dem Hostnamen nur zwei Schrägstriche vorangestellt werden:

html

Erzwungenes Prefetching von Hostnamen kann nützlich sein, beispielsweise auf der Homepage einer Website, um die Vorauflösung von Domain-Namen zu erzwingen, die häufig auf der gesamten Website referenziert werden, obwohl sie nicht auf der Homepage selbst verwendet werden. Dies wird die Gesamtleistung der Website verbessern, auch wenn die Leistung der Homepage möglicherweise nicht beeinflusst wird.

Spezifikationen

Nicht Teil einer aktuellen Spezifikation.

Browser-Kompatibilität

Siehe auch