X-DNS-Prefetch-Control
Kein Standard: Diese Funktion ist nicht standardisiert und befindet sich nicht im Standardisierungsprozess. Verwenden Sie sie nicht auf Produktionsseiten, die auf das Web ausgerichtet sind: Sie wird nicht für alle Benutzer funktionieren. Außerdem kann es große Inkompatibilitäten zwischen Implementierungen geben und das Verhalten kann sich in Zukunft ändern.
Der X-DNS-Prefetch-Control
HTTP-Antwort-Header steuert
das DNS-Prefetching, eine Funktion, bei der Browser proaktiv die Domainnamenauflösung
für Links durchführen, denen der Benutzer möglicherweise folgen möchte, sowie für URLs von Elementen, auf die im Dokument verwiesen wird, einschließlich Bilder, CSS, JavaScript usw.
Dieses Prefetching wird im Hintergrund durchgeführt, so dass das DNS vermutlich aufgelöst ist, wenn die referenzierten Elemente benötigt werden. Dies reduziert die Latenz, wenn der Benutzer auf einen Link klickt.
Header-Typ | Antwort-Header |
---|---|
Verbotener Header-Name | nein |
Syntax
X-DNS-Prefetch-Control: on
X-DNS-Prefetch-Control: off
Direktiven
- on
-
Aktiviert DNS-Prefetching. Dies ist, was Browser tun, wenn sie die Funktion unterstützen und dieser Header nicht vorhanden ist.
- off
-
Deaktiviert DNS-Prefetching. Dies ist nützlich, wenn Sie die Links auf den Seiten nicht kontrollieren können oder wissen, dass Sie keine Informationen an diese Domains weitergeben möchten.
Beschreibung
DNS-Anfragen sind in Bezug auf die Bandbreite sehr klein, aber die Latenz kann besonders in mobilen Netzwerken recht hoch sein. Durch spekulatives Prefetching der DNS-Ergebnisse kann die Latenz erheblich reduziert werden, insbesondere, wenn der Benutzer auf einen Link klickt. In einigen Fällen kann die Latenz um eine Sekunde reduziert werden.
Die Implementierung dieses Prefetchings in einigen Browsern ermöglicht es, die Auflösung von Domainnamen parallel (anstatt seriell) zum Abrufen des tatsächlichen Seiteninhalts durchzuführen. Dadurch verursacht der hochgradige Latenzprozess der Domainnamenauflösung keine Verzögerung beim Abrufen von Inhalten.
Seitenladezeiten können auf diese Weise – insbesondere in mobilen Netzwerken – messbar verbessert werden. Wenn die Domainnamen für Bilder im Voraus aufgelöst werden können, sehen Seiten, die viele Bilder laden, eine Verbesserung der Ladezeiten um 5 % oder mehr.
Konfiguration des Prefetchens im Browser
Im Allgemeinen müssen Sie nichts tun, um Prefetching zu verwalten. Allerdings möchte der Benutzer möglicherweise das Prefetching deaktivieren. In Firefox kann dies durch Setzen der Einstellung network.dns.disablePrefetch
auf true
erreicht werden.
Auch wird standardmäßig das Prefetching von eingebetteten Link-Hostnamen nicht bei Dokumenten durchgeführt, die über HTTPS geladen werden. In Firefox kann dies geändert werden, indem die Einstellung network.dns.disablePrefetchFromHTTPS
auf false
gesetzt wird.
Beispiele
Prefetching aktivieren und deaktivieren
Sie können den X-DNS-Prefetch-Control
-Header serverseitig senden oder aus einzelnen Dokumenten heraus, indem Sie das http-equiv
Attribut auf dem <meta>
-Element wie folgt verwenden:
<meta http-equiv="x-dns-prefetch-control" content="off" />
Sie können diese Einstellung umkehren, indem Sie content
auf "on"
setzen.
Erzwungenes Nachschlagen spezifischer Hostnamen
Sie können das Nachschlagen spezifischer Hostnamen erzwingen, ohne spezifische Anker zu verwenden, die diesen Hostnamen nutzen, indem Sie das rel
Attribut auf dem <link>
-Element mit einem Link-Typ von dns-prefetch
verwenden:
<link rel="dns-prefetch" href="https://www.mozilla.org" />
In diesem Beispiel wird der Domainname www.mozilla.org
vorab aufgelöst.
Ähnlich kann das Link-Element verwendet werden, um Hostnamen zu aufzulösen, ohne eine vollständige URL bereitzustellen, jedoch indem nur der Hostname mit zwei Schrägstrichen vorangestellt wird:
<link rel="dns-prefetch" href="//www.mozilla.org" />
Erzwungenes Prefetching von Hostnamen kann nützlich sein, beispielsweise auf der Startseite einer Website, um die Vorausauflösung von Domainnamen zu erzwingen, die häufig auf der gesamten Website referenziert werden, obwohl sie selbst auf der Startseite nicht verwendet werden. Dies verbessert die Gesamtleistung der Seite, auch wenn die Leistung der Startseite selbst nicht betroffen ist.
Browser-Kompatibilität
BCD tables only load in the browser