Browser-Cache in der htaccess aktivieren – Kleiner Eingriff große Wirkung

Leverage Browser Caching – Website Ladezeiten testen und optimieren – Teil 3

Wird eine Website im Browser geöffnet, werden Teile der Inhalte für eine weitere Verwendung auf der Festplatte – dem Browsercache – zwischengespeichert. So würde z.B. das Logo der Website bei dem Aufruf einer Unterseite nicht erneut vom Webserver geladen werden, sondern von der internen Festplatte. Allerdings sind Browser nicht unbedingt besonders clever was die Organisation des Browser-Cache betrifft und so kann es passieren, dass bei einem späteren Besuch der Seite die schon im Cache befindlichen Dateien erneut heruntergeladen werden. Sinnloser Server-Traffic und unnötige Wartezeiten sind die Folgen. Mit einem kleinen Eingriff in die htaccess lässt sich dieses Verhalten aber abstellen.

Browser-Cache für den Server aktivieren

Um zu verhindern das statische Ressourcen für wiederkehrende Besucher erneut vollständig vom Server geladen werden, müssen diese für den Browser mit einem „Verfallsdatum“ gekennzeichnet sein. In der Regel sind dies Dateien die sich nur selten oder nie ändern, wie z.B. CSS-Dateien, JavaScript, Bilddateien, Mediendateien und PDFs. Für diese Dateien lässt sich mittels eines Eintrags in der htaccess festlegen, innerhalb welcher Zeitspanne sie nicht erneut vom Server heruntergeladen werden sollen, bzw. wie lange diese Dateien – ohne erneute Prüfung – gültig sind. Im Regelfall umfasst die Spanne der Cache-Lebensdauer eine Woche bis zu einem Jahr. Eine längere Cache-Lebensdauer als ein Jahr sollte jedoch nicht gewählt werden, da diese gegen die RFC-Richtlinien verstößt. Um den Browser über die „Lebensdauer“ der verschiedenen Dateien zu informieren braucht es nur ein paar zusätzliche Zeilen in der htaccess und (optimaler Weise) dem geladenen Apache Modul, mod_expires.

In diesem Beispiel ist die „Lebensdauer“ für Bilder, CSS und das x-icon auf 1 Jahr festgelegt, JavaScript, PDF und Flash sind auf einen Monat begrenzt. Das bedeutet, der Browser würde erst dann wieder eine GET Anfrage für die Ressource senden, wenn das Ablaufdatum oder der maximale Zeitraum erreicht ist oder der Browser-Cache gelöscht wurde. Die Angaben sind nur Default Werte und sollten den eigenen Bedürfnissen angepasst werden. Alternativ gibt es noch die Option anstelle von mod_expires mit mod_headers zu arbeiten, jedoch wird mod_expires von Google bevorzugt.

Ähnliche Artikel