1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
Header verwenden, um das Caching von Ressourcen zu optimieren
In diesem Leitfaden wird erläutert, wie man mit HTTP-Headern das Verstecken von Web-Ressourcen optimieren kann.
Präambel
- Eine gute Cache-Strategie ermöglicht es, die Leistung Ihrer Website deutlich zu verbessern, indem Sie unnötige Übertragungen von unveränderten Dateien vermeiden.
- Die Web-Cache basiert auf zwei einander ergänzenden Mechanismen:
- Die GĂĽltigkeitsdauer des Zwischenspeichers (ĂĽber die Kopfzeile)
Expires
) gibt an, wie lange eine Ressource wiederverwendet werden kann, ohne den Server zu kontaktieren. - Bedingte Validierung (ĂĽber Kopfzeile)
Last-Modified
/If-Modified-Since
) die es ermöglicht zu überprüfen, ob sich eine Ressource verändert hat, bevor sie erneut heruntergeladen wird.
- Die GĂĽltigkeitsdauer des Zwischenspeichers (ĂĽber die Kopfzeile)
Cache-Einstellungen mit Expires
Der Kopfzeile Expires
ermöglicht die Angabe einer Zeit, während der der Browser Ressourcen direkt aus seinem lokalen Cache wiederverwenden kann. So konfigurieren Sie es in Ihrer Datei .htaccess
:
- Erstellen oder öffnen Sie die Datei
.htaccess
an der Wurzel Ihrer Website (in der Regel in/web
oder/sites/domain.xyz
). Modul-Konfiguration hinzufĂĽgen
expires
:<IfModule mod_expires.c>
Legen Sie die entsprechenden Cache-Zeiten fĂĽr jede Art von Ressource 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:
- Die HTML-Seiten werden eine Woche lang im Zwischenspeicher aufbewahrt.
- JPEG-, CSS- und JavaScript-Bilder werden einen Monat lang aufbewahrt.
Passen Sie diese Zeiträume entsprechend der 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, ist es nicht immer notwendig, sie vollständig herunterzuladen. Der bedingte Validierungsmechanismus ermöglicht es dem Browser zu überprüfen, ob seine Cache-Version noch auf dem neuesten Stand ist. Dieser Prozess funktioniert wie folgt:
- Server sendet automatisch einen Header
Last-Modified
mit jeder Ressource, die das Datum der letzten Änderung angibt.- Apache unterstützt dies nativ für statische Dateien - keine zusätzlichen Konfigurationen erforderlich.
Wenn der Browser die Ressource erneut fragt, sendet er einen Header
If-Modified-Since
mit dem Datum, das er im Versteck 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 Datum der Dateiänderung:
- Wenn sich die Datei nicht geändert hat, gibt sie einfach einen Code zurück.
304 Not Modified
, wodurch die Bandbreite gespart wird. - Wenn die Datei geändert wurde, gibt sie die neue Version mit einem Code zurück.
200 OK
.
- Wenn sich die Datei nicht geändert hat, gibt sie einfach einen Code zurück.