ETag & Browsercaching kurz erklärt
Browsercaching ist ein Mechanismus, der es Webbrowsern ermöglicht, bestimmte Ressourcen einer Webseite lokal zu speichern, um sie schneller abzurufen. Wenn ein Benutzer eine Webseite besucht, werden verschiedene Elemente wie Bilder, CSS-Dateien und JavaScript-Dateien heruntergeladen, um die Seite anzuzeigen. Beim Browsercaching werden diese Ressourcen lokal im Cache des Browsers gespeichert, sodass sie beim erneuten Besuch der Webseite nicht erneut vom Server geladen werden müssen.
Browsercaching ist vorteilhaft aus mehreren Gründen:
- Schnellere Ladezeiten: Da der Browser die Ressourcen im Cache lokal speichert, müssen sie nicht jedes Mal vom Server geladen werden, wenn der Benutzer die Webseite besucht. Dadurch verkürzt sich die Ladezeit erheblich, da die Ressourcen lokal abgerufen werden können, was zu einer verbesserten Benutzererfahrung führt.
- Reduzierter Server-Traffic: Durch das Speichern von Ressourcen im Cache wird der Datenverkehr zwischen dem Browser und dem Server reduziert. Dies ist besonders vorteilhaft bei stark frequentierten Webseiten mit vielen Besuchern, da weniger Ressourcen vom Server abgerufen werden müssen, was die Serverlast verringert.
- Bandbreiteneinsparungen: Browsercaching kann auch die Bandbreite sparen, insbesondere wenn Benutzer eine Webseite mit begrenztem Datenvolumen besuchen. Wenn Ressourcen lokal im Cache gespeichert sind, werden sie nicht erneut heruntergeladen, was zu Einsparungen bei der übertragenen Datenmenge führt.
Das ETag-Verfahren (Entity Tag) ist ein Mechanismus, der von Webservern verwendet wird, um Ressourcen zu identifizieren und deren Aktualisierung zu überprüfen. Jede Ressource auf einem Webserver erhält eine eindeutige Kennung, die als ETag bezeichnet wird. Das ETag kann beispielsweise aus einem Hashwert oder einer Versionsnummer generiert werden, die den Inhalt der Ressource repräsentiert.
Wenn ein Browser eine Ressource vom Server anfordert, sendet der Server das ETag zusammen mit der Ressource zurück. Der Browser speichert das ETag ab. Beim erneuten Abrufen der Ressource kann der Browser das ETag an den Server senden und fragen, ob sich die Ressource seit dem letzten Abruf geändert hat. Der Server vergleicht das mitgelieferte ETag mit dem aktuellen ETag der Ressource. Wenn sich das ETag geändert hat, liefert der Server die aktualisierte Ressource zusammen mit dem neuen ETag zurück. Wenn das ETag unverändert ist, sendet der Server den Statuscode "304 Not Modified" zurück und der Browser verwendet die lokal gespeicherte Version der Ressource aus dem Cache.
Das ETag-Verfahren hilft dabei, die Effizienz des Browsercachings zu verbessern. Statt die gesamte Ressource erneut zu übertragen, kann der Server bestätigen, dass die lokale Kopie im Cache des Browsers aktuell ist. Dadurch wird die Netzwerkbelastung reduziert und die Ladezeiten weiter optimiert.
Wie wird der Test durchgeführt?
- Gebe in dem Feld "URL" die zu prüfende URL bzw. URI ein
- Der Test ermittelt, ob eine eTag-Id im HTTP-Header vorhanden ist
- Im nächsten Schritt wird die URL erneut mit ETag-Id aufgerufen und geprüft, ob der Server korrekt mit Statuscode 304 antwortet.