DNS ist ein Element, das von Webmastern oft übersehen wird. Wenn es jedoch richtig optimiert ist, kann es die Geschwindigkeit und die Gesamtleistung der Website erheblich verbessern. Deshalb werden wir heute darüber sprechen, was eine DNS-Abfrage ist und wie sie den Betrieb Ihrer Website beeinflusst. Wir werden Ihnen auch zeigen, wie Sie die Anzahl der DNS-Abfragen reduzieren können, was Ihnen höchstwahrscheinlich helfen wird, die Leistung Ihrer Ressource zu verbessern.
Was ist eine DNS-Abfrage?
Das DNS ist die Grundlage des Internets. So wie uns eine Adresse hilft, geografische Koordinaten zu vermeiden, befreit uns ein Domain-Name von der Notwendigkeit, uns IP-Adressen zu merken.
Jede Domain ist mit einer IP-Adresse verbunden. Wenn Sie z. B. google.com in die Adressleiste Ihres Browsers eingeben, fragt Ihr Internetdienstanbieter die mit dieser Domain verbundenen Nameserver ab. Ohne DNS müssten Sie etwas wie 216.58.212.110 eingeben, um auf die Website zu gelangen.
Der Vorgang, bei dem festgestellt wird, welche IP zu einer bestimmten Website (Domain) gehört, wird DNS-Abfrage genannt.
Bevor Sie also mit einem Browser alle Ressourcen anzeigen und laden können, müssen Sie für jede Domain, die Informationen auf der Seite bereitstellt, eine DNS-Abfrage durchführen.
Es muss jedoch nicht für jede Ressource eine Abfrage durchgeführt werden. Wenn Sie zum Beispiel die folgenden HTTP-Anfragen stellen:
http://hostinger-dev-2.xyz
http://hostinger-dev-2.xyz/wp-content/themes/veggie-lite/style.css
http://hostinger-dev-2.xyz/wp-content/plugins/mailchimp-for-wp/assets/js/forms-api.min.js
http://platform.linkedin.com/in.js
http://platform.twitter.com/widgets.js
Obwohl Sie fünf Anfragen gestellt haben, sehen wir in dem Beispiel nur drei eindeutige Domains. Das bedeutet, dass Ihr Browser nur drei DNS-Abfragen durchführt.
http://hostinger-dev-2.xyz
http://platform.linkedin.com
http://platform.twitter.com
Wenn Sie eine Webseite besuchen, fordert der Browser normalerweise alle Ressourcen mit DNS-Abfragen an. Er muss warten, bis alle Prozesse abgeschlossen sind, bevor der Browser etwas herunterladen kann.
Dies kann eine Weile dauern, vor allem bei einer Seite, auf der viele DNS-Abfragen durchgeführt werden müssen. Infolgedessen können sich die Ladezeiten der Website verlängern.
DNS-Abfragen: einfache Möglichkeiten zur Reduzierung der DNS-Abfragen
Da Sie nun wissen, was die DNS-Abfrage bewirkt, ist es an der Zeit, die Anzahl der DNS-Abfragen zu verringern, um die Leistung Ihrer Website zu verbessern.
- Verwendung eines schnellen DNS-Dienst
Genau wie beim Hosting gibt es zuverlässige und weniger seriöse DNS-Anbieter. Ein guter DNS-Anbieter kann die Anzahl der DNS-Abfragen erheblich reduzieren. Zu den beliebtesten DNS-Diensten gehören Cloudflare, WordPress.com, Edgecast, DNSMadeEasy und DYN.
Die Funktionsweise von DNS-Anbietern ist der eines CDN (Content Delivery Network) sehr ähnlich – sie haben mehrere Points of Presence (POP) auf der ganzen Welt. Und große Anbieter wie Cloudflare verfügen in der Regel über eine große Infrastruktur von DNS-Servern auf der ganzen Welt, die für bessere Antwortzeiten und damit für ein besseres Laden der Website sorgen.
Sie können auch Tools wie DNSPerf und DNS SPeed Test verwenden, um die besten DNS-Anbieter in Ihrer Umgebung zu finden.
2. Optimierung des DNS-Caching
Dank des DNS-Caching werden die Informationen über die IP-Adresse, mit der die Domain verknüpft ist, eine Zeit lang auf dem Server gespeichert. Das hat zur Folge, dass die DNS-Abfrage weniger Zeit in Anspruch nimmt.
Das DNS-Caching funktioniert ähnlich wie das WordPress-Caching. Die DNS-Informationen werden auf dem Server gespeichert, bis sie ablaufen. Übrigens können Sie die Zeit, die Informationen im Cache gespeichert werden, oder TTL (time to live) einstellen.
Sie können den TTL-Wert bei Ihrer Domain-Registrierungsstelle oder bei DNS-Drittanbietern ändern. Wenn Sie die Cache-Dauer erhöhen, verringern Sie die Anzahl der DNS-Abfragen und dementsprechend auch die Abfragezeit.
Wenn Ihre Website von Hostinger gehostet wird, können Sie den Wert im DNS-Zoneneditor ändern.
Optimierung des DNS-Vorabrufs
Eine weitere Möglichkeit, DNS-Abfragen zu reduzieren, besteht darin, die Hintergrundaktivitäten zu minimieren, während die Besucher auf der Website surfen. Diese Technik wird als DNS-Vorabruf bezeichnet.
Der Vorabruf ermöglicht es dem Browser, die möglichen Adressen der Inhalte auf der Seite (Bilder, Skripte usw.) zu erhalten, die er später anzeigen muss. Die Vorabrufmaschine versucht, Domain-Namen aufzulösen, bevor der Benutzer versucht, dem Link zu folgen, und speichert diese Informationen im Cache.
Wenn ein Website-Besucher auf einen Link klickt, während er versucht, zu einer vorab zugelassenen Domain zu navigieren, hat er sofortigen Zugriff auf den Inhalt.
Sie können einen DNS-Vorabruf zu einer bestimmten URL hinzufügen, indem Sie dem Link-Attribut ein rel = Tag hinzufügen. Wenn Sie WordPress verwenden, können Sie die folgende Zeile in den Header Ihrer Website einfügen:
Besonders wichtig ist, dass DNS-Vorabfragen von den meisten modernen Browsern unterstützt wird.
Aktivieren des Keep-Alive-Modus
Sie können auch die Anzahl der DNS-Abfragen reduzieren, indem Sie Keep-Alive aktivieren. Dabei handelt es sich um einen ständig aktiven Kommunikationskanal zwischen dem Server und dem Browser, der dazu beiträgt, mehr Ressourcendateien viel schneller zu laden.
Wenn Sie z. B. eine Ressource unter n1.assetdomain.com und fünf Ressourcen unter n2.assetdomain.com haben, führen sie zusammen sechs DNS-Abfragen durch. Mit Keep-Alive werden diese Ressourcen in zwei Anfragen heruntergeladen.
Es ist auch erwähnenswert, dass diese Art der aktiven Übertragung nur einen kleinen Teil der Bandbreite verbraucht, da die Anfragen in eine winzige Nachricht gepackt werden. Sie können diese Funktion auf Apache- und Nginx-Servern aktivieren.
Apache
Um Keep-Alive auf dem Apache-Server zu aktivieren, fügen Sie den folgenden Code in Ihre .htaccess-Datei ein:
Header set Connection keep-alive
Nginx
Bei Nginx-Servern suchen Sie das Haupt-HTTP-Modul (ngx_http_core_module) und dann eine Zeile, die in etwa wie keep alive_disable aussieht. Ändern Sie sie wie im folgenden Beispiel gezeigt:
keepalive_disable none;
Ersetzen von CNAME-Einträgen durch ANAME-Einträge
CNAME-Einträge erzeugen eine zusätzliche Abfrage, die zu einer leichten Verzögerung bei der IP-Auflösung führen kann. Eine kleine Anzahl von CNAMEs ist in Ordnung. Wenn es jedoch zu viele solcher Einträge auf Ihrer Website gibt, sollten Sie sie aus dem DNS entfernen, um die Anzahl der DNS-Abfragen zu verringern.
Alternativ können Sie auch ANAME-Einträge verwenden. Sie haben die gleiche Funktionalität wie CNAME, aber auf der Root-Ebene, was eine schnellere Auflösung von IP-Adressen bedeutet.
CNAME-Einträge werden verwendet, um Domain-Aliase mit der kanonischen Domain zu verknüpfen. Nehmen wir zum Beispiel www.domain.com mit angepassten CNAME-Einträgen. Um eine IP-Adresse aufzulösen, müssen Sie zunächst den Hostnamen auflösen, was zwei verschiedene Anfragen erfordert.
ANTWORTABSCHNITT:
www.domain.com. 3599 IN CNAME domain.com.
domain.com. 3599 IN A 40.71.11.131
Der ANAME-Eintrag wiederum ermöglicht es, diese Anfragen zu überspringen und stattdessen die folgende Antwort zu geben:
ANTWORTABSCHNITT
www.domain.com. 3599 IN A 40.71.11.131
Wenn Sie Cloudflare verwenden, steht Ihnen eine Funktion namens CNAME Flattening zur Verfügung, die mit ANAME vergleichbar ist.
Lazy Loading JavaScript
Mit dieser Methode kann der gesamte Inhalt der Website vollständig geladen werden, bevor JavaScript geladen wird. Das bedeutet, dass auch die DNS-Abfrage nicht sofort aufgerufen wird. Diese Praxis kann das Laden der Website beschleunigen und damit die Besuchererfahrung verbessern.
In WordPress können Sie das Async-JavaScript-Plugin verwenden, um die ganze Arbeit für Sie zu erledigen. Denken Sie aber daran, dass Sie auch alle JS-Skripte auflisten müssen, die Sie von der Zurückstellung ausschließen möchten.
Fazit
DNS-Abfrage ist also ein Begriff, der einen Prozess beschreibt – eine Suche in einer Art „Telefonbuch“ des Internets, dem Domain-Namen-System, nach Informationen darüber, welche IP zu einer bestimmten Site (Domain) gehört.
Eine DNS-Abfrage besteht aus mehreren DNS-Abfragen, die von Server zu Server geschickt werden, bis die gewünschte Information gefunden ist. Je länger die Suche dauert, desto länger braucht die Seite zum Laden, was sich negativ auf die Erfahrung der Website-Nutzer auswirken kann. Lassen Sie uns noch einmal erklären, wie Sie die Anzahl der DNS-Abfragen reduzieren und die Leistung und Ladegeschwindigkeit Ihrer Website verbessern können.
Die Nutzung eines schnellen DNS-Dienstes ist ein todsicherer Weg, um Ihre DNS-Abfragen zu verbessern, da die ISPs die Optimierung übernehmen.
Die Optimierung des DNS-Caching ist eine weitere gute Möglichkeit zur Verbesserung der DNS-Abfragen. Sie funktioniert ähnlich wie der WordPress-Cache.
DNS-Vorabruf – beschleunigt die Bereitstellung von Antworten durch die Vorabauflösung von Domain-Namen auf der Seite. Alle wichtigen Browser unterstützen diese Methode.
Keep-Alive-Modus – ermöglicht die Aufrechterhaltung einer aktiven Zwei-Kanal-Kommunikation zwischen dem Browser und dem Server. Er verbraucht nicht viel Bandbreite.
Ersetzen von CNAME- durch ANAME-Einträge – Sie können CNAME auch durch einen effizienteren ANAME-Eintrag ersetzen.
Lazy Loading JavaScript – Schließlich können Sie JavaScript aufschieben, so dass es geladen wird, nachdem der Inhalt der Website geladen ist.
10 Einblicke in den 2021 Data Breach Investigations Report (DBIR) von Verizon
AmazonSES SPF- und DKIM-Einrichtung