it-swarm.com.de

Was sind die harten und schnellen Regeln für die Cache-Kontrolle?

Konfession : Websites, die ich verwalte, haben unterschiedliche Regeln für die Cache-Steuerung, die hauptsächlich auf der Standardkonfiguration des Servers basieren, gefolgt von Empfehlungen von Seitengeschwindigkeit) & Y-Slow Firefox-Plug-Ins und die Ansicht Netzwerkressourcen in Googles Speed ​​Tracer . Die Cache-Steuerung ist auf privat/öffentlich eingestellt, je nachdem, was sie zu tun haben. Die/Zuletzt geänderten Header von ETag werden nur dann bearbeitet, wenn Y-Slow vermuten lässt, dass etwas nicht stimmt, und Vary-Accept-Encoding für das manuelle Gziping von Dateien für Amazon erforderlich ist CloudFront.

Beim Durchlesen des Materials zu den verschiedenen Optionen und deren Funktionsweise scheinen widersprüchliche Informationen, Regeln für defekte Proxies und Frachtkult Konfigurationen vorzuliegen. Alle offiziellen Informationen, die von den oben genannten Analysewerkzeugen bereitgestellt werden, sind ziemlich unzugänglich, da sie sich auf jedes Thema einzeln und nicht als einheitliche Strategie beziehen (es gibt also keine Querverweise zwischen Techniken).

Zum Beispiel scheint es keinen Sinn zu machen, dass die Tools für die Geschwindigkeitsanalyse eine Site mit ETag genauso bewerten wie eine Site ohne ETag, wenn sie beim Caching helfen sollen.

Wie lauten die festen Regeln für eine plattformunabhängige Cache-Steuerungsstrategie?

EDIT:

A Link bis Jeff Atwoods Artikel erklärt Caching in großartiger Tiefe.

Für die Aufzeichnung hier sind die harten und schnellen Regeln:

Wenn die Datei mit GZIP usw. komprimiert wurde - verwenden Sie "cache-control: private" als Proxy, um die komprimierte Version an einen Client zurückzugeben, der dies nicht tut unterstütze es (der Browser-Cache wird jedoch Dateien enthalten, die auf diese Weise markiert sind). Denken Sie auch daran, ein "Vary: Accept-Encoding" einzufügen, um zu sagen, dass es komprimierbar ist.

Use Last-Modified in Verbindung mit ETag - Die Verwendung von belt and braces bietet beide Validatoren, während ETag auf dem Dateiinhalt basiert und nicht nur auf der Änderungszeit, sondern auf beiden deckt alle Grundlagen ab. HINWEIS: AOLs PageTest hat aus irgendeinem Grund einen Carte-Blanche-Ansatz gegenüber ETags. Wenn Sie Apache auf mehreren Servern zum Hosten desselben Inhalts verwenden, entfernen Sie den implizit deklarierten Inode aus ETags, indem Sie ihn aus der FileETag-Direktive ausschließen (dh "FileETag MTime Size"), es sei denn, Sie verwenden ihn wirklich das gleiche Live-Dateisystem.

Verwenden Sie "cache-control: public", wo immer Sie können - dies bedeutet, dass Proxy-Server (und der Browser-Cache) Ihre Inhalte auch dann zurückgeben, wenn der Rest von Die Seite benötigt HTTP-Authentifizierung usw.

15
Metalshark

Entfernen Sie das ETag zunächst nicht, wie Yahoo sagt, es sei denn, Sie verwenden eine Serverfarm/einen Servercluster. Solange dieselbe Datei immer dasselbe ETag zurückgibt, wenn es nicht geändert wurde, ist es eine sehr nützliche Anweisung.

Wie bei anderen Headern schlägt Yahoo mit Best Practices vor, für statische Dateien einen Expires -Header für die Zukunft festzulegen. Verwenden Sie Cache-Control für dynamischen Inhalt. Allerdings ist Cache-control für statische Inhalte völlig in Ordnung (so gut wie kein Unterschied zwischen ihnen).

Wenn Sie zwischengespeicherte statische Dateien ändern, müssen Sie den Dateinamen ändern oder am Ende einen eindeutigen Parameter hinzufügen, z. example.com/styles.css?v=2. Das Ändern des tatsächlichen Dateinamens wird jedoch bevorzugt, wie in den Kommentaren unten angegeben.

Im Übrigen können Sie die YSlow-Regeln nach Ihren Wünschen bearbeiten, um die Etag-Regel zu entfernen und Ihre eigene Domain als CDN hinzuzufügen. Dieser Artikel ist auch eine gute Lektüre: Yahoo Probleme sind nicht Ihre Probleme

8
DisgruntledGoat

Ändern Sie die Anforderungsheader Ihrer Ressourcen, um die Zwischenspeicherung zu verwenden. Für die meisten Benutzer besteht die Möglichkeit, die Zwischenspeicherung zu deaktivieren, darin, einer Datei mit dem Namen .htaccess auf Ihrem Webhost/Server Code hinzuzufügen.

Dies bedeutet, dass Sie auf Ihrem Webhost zum Dateimanager (oder zu jedem Ort, an dem Sie Dateien hinzufügen oder hochladen) gehen.

Die .htaccess-Datei steuert viele wichtige Dinge für Ihre Site. Wenn Sie mit der .htaccess-Datei nicht vertraut sind, lesen Sie bitte meinen Artikel über die Arbeit mit .htaccess, um sich vor dem Ändern ein Bild davon zu machen.

Der folgende Code teilt den Browsern mit, was zwischengespeichert werden soll und wie lange sie sich daran "erinnern" sollen. Es sollte am Anfang Ihrer .htaccess-Datei hinzugefügt werden.

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
## EXPIRES CACHING ##

Speichern Sie die .htaccess-Datei und aktualisieren Sie dann Ihre Webseite.

Quelle:
https://varvy.com/pagespeed/leverage-browser-caching.html

0
Nomib Nomib