Boehrsi.de V7 - Caching im Browser bei Bedarf
Caching ist wichtig und erspart unnötiges Laden von Inhalten. Will man dies serverseitig tun wirft man, durch Einträge in die Apache Config oder .htaccess Datei, diverse Dateiformate in eine Liste und lässt diese für einen definierten Zeitraum cachen. Doch was ist wenn sich tatsächlich Inhalte ändern und man diese direkt ausliefern will. Vor allem an CSS oder andere statische Dateien denke ich dabei. Auch Bilder sind ein beliebtes Beispiel. Diese Inhalte sollen definitiv nicht jedes Mal frisch an den Nutzer gesendet werden, aber gerade bei Updates der Homepage oder neuen Inhalten möchte man selbige natürlich auch sofort sehen. Auch beim Entwickeln ist dies hilfreich, wobei man dort in diversen Browsern das Caching auch komplett deaktivieren kann. Lange Rede, kurzer Sinn, ich nutze nun einen sehr einfach Ansatz, wie er von Stefan Hayden open_in_new beschrieben wird und im unteren Teil der News von mir noch einmal erläutert wird.
Ich nutze bei den genannten statischen Inhalten einfach eine kleine Zeile Code, bei mir in PHP geschrieben, welche das Datum der letzten Änderung erfasst und als Query-Parameter hinter den Dateinamen hängt. Der Parameter ändert nicht die Datei selbst, sehr wohl aber das was der Browser fürs Caching als Maker nimmt. Somit habe ich im Quelltext z.B. den folgenden Ausschnitt.
<link rel="stylesheet" type="text/css" href="styles/style.css?version=03.01.16" />
Dieser erlaubt mir automatisch und ohne Anpassungen meines Setups, das Caching und gleichzeitig die sofortige Auslieferung von neuen Inhalten. Der Ansatz ist wahrlich simpel, funktioniert bei mir aber sehr gut.