1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
Verwenden Sie Header, um die Zwischenspeicherung von Ressourcen zu optimieren
Dieser Leitfaden erklärt, wie Sie die Zwischenspeicherung von Webressourcen mithilfe von HTTP-Headern optimieren können.
Vorwort
- Eine gute Cache-Strategie kann die Leistung Ihrer Website erheblich verbessern, indem sie verhindert, dass unveränderte Dateien unnötig erneut übertragen werden.
- Die Web-Zwischenspeicherung basiert auf zwei komplementären Mechanismen:
- Die Cache-Gültigkeitsdauer (über den Header
Expires
) gibt an, wie lange eine Ressource wiederverwendet werden kann, ohne den Server zu kontaktieren. - Die bedingte Validierung (über die Header
Last-Modified
/If-Modified-Since
) ermöglicht die Überprüfung, ob sich eine Ressource geändert hat, bevor sie erneut heruntergeladen wird.
- Die Cache-Gültigkeitsdauer (über den Header
Konfiguration der Cache-Dauer mit Expires
Der Header Expires
ermöglicht die Angabe einer Dauer, während der der Browser Ressourcen direkt aus seinem lokalen Cache wiederverwenden kann. So konfigurieren Sie dies in Ihrer Datei .htaccess
:
- Erstellen oder öffnen Sie die Datei
.htaccess
im Stammverzeichnis Ihrer Website (in der Regel in/web
oder/sites/domain.xyz
). Fügen Sie die Konfiguration des Moduls
expires
hinzu:<IfModule mod_expires.c>
Legen Sie die geeigneten Cache-Dauern für jeden Ressourcentyp fest:
ExpiresActive On ExpiresByType text/html "access plus 1 week" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType text/css "access plus 1 month" ExpiresByType application/javascript "access plus 1 month"
Diese Richtlinien bedeuten:
- HTML-Seiten werden eine Woche lang im Cache gespeichert.
- JPEG-Bilder, CSS-Dateien und JavaScript-Dateien werden einen Monat lang gespeichert.
Passen Sie diese Dauern an die Häufigkeit der Aktualisierung Ihrer Ressourcen an.
Schließen Sie den Konfigurationsabschnitt:
</IfModule>
Bedingte Validierung mit Last-Modified
Selbst wenn eine Ressource im Cache abgelaufen ist, muss sie nicht immer vollständig erneut heruntergeladen werden. Der Mechanismus der bedingten Validierung ermöglicht es dem Browser, zu überprüfen, ob seine im Cache gespeicherte Version noch aktuell ist. Dieser Prozess funktioniert wie folgt:
- Der Server sendet automatisch einen Header
Last-Modified
mit jeder Ressource, der deren Änderungsdatum angibt.- Apache verwaltet dies nativ für statische Dateien - keine zusätzliche Konfiguration erforderlich.
Wenn der Browser die Ressource erneut anfordert, sendet er einen Header
If-Modified-Since
mit dem Datum, das er im Cache hat:GET /resource HTTP/1.1 Host: www.example.com If-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMT
- Der Server vergleicht dieses Datum mit dem tatsächlichen Änderungsdatum der Datei:
- Wenn die Datei nicht geändert wurde, gibt er einfach einen Code
304 Not Modified
zurück und spart somit Bandbreite. - Wenn die Datei geändert wurde, gibt er die neue Version mit einem Code
200 OK
zurück.
- Wenn die Datei nicht geändert wurde, gibt er einfach einen Code