In der Weberfahrung begegnen wir häufig auf diese Situation, dh bei der Aufrufen von Baidu Alliance, Google Alliance und Domainnamendateien außerhalb des Domänennamens, auf dem sich die aktuelle Webseite befindet, werden wir auf eine sehr schwerwiegende Anfrageverzögerung stoßen. Gibt es also eine Möglichkeit, dieses Phänomen der schwerwiegenden Anfrage zu lösen? Was ist DNS Prefetch
DNS implementiert Domain-Namen-zu-IP-Zuordnung. Der Zugriff auf die Website über einen Domain -Namen erfordert für jede Anfrage eine DNS -Auflösung. Derzeit liegt jede DNS -Auflösung normalerweise unter 200 ms. Als Reaktion auf das zeitaufwändige Problem der DNS-Auflösung verwenden einige Browser die DNS-Vorabklage, um die Zugangsflüssigkeit zu verbessern.
DNS Prefetch ist eine DNS-Vorauflösungstechnologie. Beim Surfen einer Webseite wird der Browser beim Laden der Webseite die Domain -Namen auf der Webseite aufgelöst und zwischenstrahlt. Auf diese Weise müssen Sie beim Klicken auf die Verbindung auf der aktuellen Webseite keine DNS beheben, die Wartezeit des Benutzers verkürzen und die Benutzererfahrung verbessern.
Derzeit umfassen Browser, die DNS Prefetch unterstützen, Google Chrome und Firefox 3.5
Wenn Sie einen bestimmten Domain -Namen auf der Browser -Seite analysieren möchten, können Sie der Seite ein Link -Tag hinzufügen, um ihn zu implementieren. Zum Beispiel:
<link rel = dns-prefetch href = http: //img.vevb.com/>
Wenn Sie steuern möchten, ob die Browser-Seite den Domänennamen vor dem Aufstand des Domänennamens vorlöst, können Sie ihn über das X-DNS-Prefetch-Control-Attribut des HTTP-Headers steuern.
Leider unterstützen nur Google Chrome und Firefox3.5 die obigen Tags
Im Allgemeinen ist der Grund für diese Verzögerung nicht die Bandbreite oder Ladung der Website der anderen Partei. Was genau diese Situation verursacht. Zalan versuchte zu spekulieren, vorausgesetzt, es handelte sich um ein Problem mit DNS, da die DNS -Auflösungsgeschwindigkeit wahrscheinlich die größte Ursache für Ressourcenverzögerung ist. Daher fügte Zaolan den folgenden Code zum Seitenheader hinzu (verwendet als DNS-Pre-Parser):
<meta http-äquiv = x-dns-prefetch-control content = on />
<link rel = dns-prefetch href = http: //bdimg.share.baidu.com/>
<link rel = dns-prefetch href = http: //nsclick.baidu.com/>
<link rel = dns-prefetch href = http: //hm.baidu.com/>
<link rel = dns-prefetch href = http: //eiv.baidu.com/>
<link rel = dns-prefetch href = http: //img.vevb.com/>
Der Effekt ist sehr gut (der Testbrowser ist IE8), und die Belastung von Baidu Shares -Tasten wird beim Öffnen anderer Seiten erheblich verbessert!
Lassen Sie uns kurz etwas über DNS-Prefetch erfahren:
Als grundlegendes Protokoll des Internets scheint DNS durch das Personal des Website -Optimierung leicht übersehen zu werden. Jetzt wurden die meisten neuen Browser für die DNS -Auflösung optimiert. Eine typische DNS-Auflösung benötigt 20-120 Millisekunden. Die Reduzierung der DNS -Auflösungszeit und -zahl ist ein guter Weg, um zu optimieren. DNS -Vorabsteuerung ist ein Domänenname mit diesem Attribut, bei dem der Benutzer nicht auf den Link klicken muss, um im Hintergrund aufzulösen. Die Auflösung von Domänennamen und das Laden von Inhalten sind serielle Netzwerkoperationen, sodass diese Methode die Wartezeit des Benutzers verkürzen und die Benutzererfahrung verbessern kann.
Der erste DNS -Auflösung und der Suchprozess des Browsers für die Website für die Website lautet:
Browser-Cache-System-Cache-Router-Cache-spisp-DNS-Cache-rezisive Suche
Domain -Name DNS -Auflösungssuchprozess
Chrome verfügt über eingebaute DNS-Vorabfassungstechnologie, und Firefox 3.5 stellt diese Funktion ebenfalls ein. Da Chrome und Firefox 3.5 selbst die DNS vor der Auflösung optimiert haben, besteht eine der nachteiligen Auswirkungen der Einstellung von DNS-Vorauflösungen darin, dass die Benutzererfahrung von Google Chrome Browser und Firefox Firefox 3.5 Browser verringert werden kann.
Vorbereitungsumsetzung:
1. verwenden
2. Verwenden Sie Link-Tags im Seitenkopf, um vor Parse DNS zu erzwingen: <link rel = dns-prefetch href = http: //bdimg.share.baidu.com/>
Hinweis: DNS-Prefetch muss mit Vorsicht verwendet werden. Durch das Wiederholen von DNS-Vorauflösungen auf mehreren Seiten erhöht die Anzahl der wiederholten DNS-Abfragen.
PS: Die vorauflösende DNS wird hauptsächlich für die Front-End-Seitenoptimierung der Website verwendet. Seine Rolle in der SEO wurde noch nicht verifiziert, aber als Teil der Verbesserung der Benutzererfahrung Rel = DNS-Prefetch kann der Entdeckung wert sein.