Cache-Header sind die Angaben im HTTP-Kopf einer Antwort, die festlegen, ob und wie lange diese Antwort zwischengespeichert werden darf. Sie sind die Anweisung der Website an alle Ebenen davor, vom Auslieferungsnetz bis zum Browser des Besuchers.
- Cache-Header
Die Angaben im HTTP-Kopf, die festlegen, ob und wie lange eine Antwort zwischengespeichert werden darf.
Beispiel: „Die Schriften kamen ohne Cache-Header und wurden deshalb bei jedem Seitenwechsel neu geladen.“Auch: HTTP Caching Headers. Sie gehören zu den HTTP-Headern und stehen in der Antwort des Servers, nicht im Dokument.
Die Frist steht in
Cache-Control, gewöhnlich alsmax-agein Sekunden. Daneben regeln Zusätze, wer speichern darf: öffentlich für alle Ebenen, privat nur im Browser des Besuchers, und eine Angabe verbietet das Speichern ganz.Die Nachfrage läuft über eine Kennung der Fassung oder über das Datum der letzten Änderung. Der Browser nennt beim nächsten Aufruf, was er hat, und erhält entweder eine kurze Antwort „unverändert“ oder die neue Datei.
Welche Cache-Header zu welchem Inhalt passen
Für Dateien, deren Name bei jeder Änderung mitwandert, ist ein Jahr richtig, dazu der Hinweis, dass sich am Inhalt nichts mehr ändert. Der Browser fragt dann gar nicht mehr nach, und das ist der schnellste erreichbare Zustand.
Für HTML gilt das Gegenteil: kurze Frist oder gar keine Speicherung, weil der Inhalt jederzeit wechseln kann. Für Seiten hinter einer Anmeldung und für Antworten auf Formulare ist das Speichern ausgeschlossen, und zwar auf allen Ebenen.
Wo Cache-Header gesetzt werden
Auf dem Webserver oder in der Anwendung. Bei Apache laufen sie über die Konfiguration oder über die .htaccess, bei nginx über die Serverkonfiguration.
<FilesMatch "\.(css|js|woff2)$">
Header set Cache-Control "public, max-age=31536000, immutable"
</FilesMatch>
<FilesMatch "\.(html)$">
Header set Cache-Control "public, max-age=0, must-revalidate"
</FilesMatch>Die erste Regel gilt für Dateien mit wandernden Namen und erlaubt ein Jahr ohne Nachfrage. Die zweite erlaubt das Speichern von HTML, verlangt aber bei jedem Aufruf eine Nachfrage, ob die Fassung noch gilt.
Woran sich Cache-Header prüfen lassen
An der Antwort selbst. Die Entwicklerwerkzeuge jedes Browsers zeigen je Datei den Kopf der Antwort und daneben, woher sie kam: aus dem Netz, aus dem Speicher oder von der Platte.
Diese Spalte ist der schnellste Weg zu der Frage, warum eine Seite beim zweiten Aufruf kaum schneller ist. Steht dort bei jeder Datei „aus dem Netz“, fehlen die Fristen. Die Ladezeit hängt dann an der Konfiguration, und daran ändert eine kleinere Dateimenge wenig.