X-DNS-Prefetch-Control

Nicht standardisiert: Diese Funktion ist nicht standardisiert und befindet sich nicht auf dem Weg zur Standardisierung. Verwenden Sie sie nicht auf Produktionsseiten, die dem Web ausgesetzt sind: Sie funktioniert nicht für alle Benutzer. Es kann auch große Inkompatibilitäten zwischen Implementierungen geben, und das Verhalten kann sich in Zukunft ändern.

Der HTTP X-DNS-Prefetch-Control Antwort-Header steuert das DNS-Prefetching, ein Feature, bei dem Browser proaktiv die Domainnamen-Auflösung für Links durchführen, denen der Benutzer möglicherweise folgen möchte, sowie URLs für im Dokument referenzierte Elemente, einschließlich Bilder, CSS, JavaScript und so weiter.

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 verringert die Latenzzeit, wenn der Benutzer zum Beispiel auf einen Link klickt.

Header-Typ Antwort-Header
Verbotener Anforderungs-Header Nein

Syntax

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

Direktiven

on

Aktiviert DNS-Prefetching. Dies ist das Verhalten der Browser, wenn sie das Feature 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 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 ziemlich hoch sein, insbesondere in mobilen Netzwerken. Durch das spekulative Prefetching von DNS-Ergebnissen kann die Latenz 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 Domainnamen-Auflösung parallel zur (statt seriell mit der) eigentlichen Fetching des Seiteninhalts erfolgt. Auf diese Weise verursacht der hoch-latenzbehaftete Prozess der Domainnamen-Auflösung 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 Domainnamen 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 der Bilder um 5% oder mehr erfahren.

Konfigurieren des Prefetchings im Browser

Im Allgemeinen müssen Sie nichts tun, um Prefetching zu verwalten. Der Benutzer kann jedoch das Prefetching deaktivieren. In Firefox kann dies durch Setzen der network.dns.disablePrefetch-Präferenz auf true erfolgen.

Außerdem wird standardmäßig das Prefetching von eingebetteten Link-Hostnamen nicht bei über HTTPS geladenen Dokumenten durchgeführt. In Firefox kann dies geändert werden, indem die Präferenz network.dns.disablePrefetchFromHTTPS auf false gesetzt wird.

Beispiele

Ein- und Ausschalten des Prefetchings

Sie können den X-DNS-Prefetch-Control-Header serverseitig senden oder mithilfe des http-equiv-Attributs auf dem <meta>-Element von einzelnen Dokumenten aus, wie folgt:

html
<meta http-equiv="x-dns-prefetch-control" content="off" />

Sie können diese Einstellung umkehren, indem Sie content auf "on" setzen.

Erzwingen der Auflösung bestimmter Hostnamen

Sie können die Auflösung bestimmter Hostnamen erzwingen, ohne spezifische Anker mit diesem Hostnamen bereitzustellen, indem Sie das rel-Attribut auf dem <link>-Element mit einem Link-Typ von dns-prefetch verwenden:

html
<link rel="dns-prefetch" href="https://www.mozilla.org" />

In diesem Beispiel wird der Domainname www.mozilla.org vorab aufgelöst.

Ebenso kann das Link-Element verwendet werden, um Hostnamen aufzulösen, ohne eine vollständige URL bereitzustellen, sondern nur, indem der Hostname mit zwei Schrägstrichen vorangestellt wird:

html
<link rel="dns-prefetch" href="//www.mozilla.org" />

Erzwungenes Prefetching von Hostnamen kann nützlich sein, beispielsweise auf der Startseite einer Website, um die Vorabauflösung von Domainnamen zu erzwingen, die häufig auf der gesamten Website referenziert werden, auch wenn sie nicht auf der Startseite selbst verwendet werden. Dies wird die Gesamtleistung der Site verbessern, auch wenn die Leistung der Startseite möglicherweise nicht betroffen ist.

Spezifikationen

Teil keiner aktuellen Spezifikation.

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch