Google Chrome-Audit zum Caching

Wenn ich mit Google Chrome eine Überprüfung meiner Websites durchführe, wird diese Meldung im Browser-Caching nutzen Sektion

Den folgenden Ressourcen fehlt ein Cache-Ablauf. Ressourcen, für die kein Ablaufdatum angegeben ist, werden möglicherweise nicht von Browsern zwischengespeichert:

Eine Liste aller Bilder folgt. Ich erhalte einen ähnlichen Hinweis in Proxy-Caching nutzen:

Consider fügt den folgenden Ressourcen einen "Cache-Control: public" -Header hinzu:

Aus Bildern erhalte ich auch einen Hinweis zu HTML-, CSS- und JavaScript-Dateien:

Die folgenden Ressourcen können ausdrücklich nicht zwischengespeichert werden. Erwägen Sie, sie wenn möglich zwischenspeicherbar zu machen:

Es ist lustig, weil ich hart gearbeitet habe, um alle statischen Inhalte zwischenzuspeichern (mit Ausnahme von Bildern, bei denen ich gerade die Standardeinstellungen von Apache belassen habe). Firefox speichert tatsächlich alle diese Elemente im Cache.

Gibt es etwas, das ich in meinen HTTP-Headern verbessern sollte?

Hier ist der vollständige Header-Satz einiger Elemente, die nach dem Entfernen des Browser-Caches geladen wurden. Die Bilder verwenden Standardeinstellungen, die ich vorher nicht wirklich überprüft habe. Der Rest sollte drei Stunden lang zwischengespeichert werden. Ich kann Header mit beiden @ setz.htaccess undPHP.

PNG
HTTP/1.1 200 OK
Date: Sat, 31 Jul 2010 12:46:14 GMT
Server: Apache
Last-Modified: Thu, 18 Mar 2010 21:40:54 GMT
Etag: "c48024-230-4821a15d6c580"
Accept-Ranges: bytes
Content-Length: 560
Keep-Alive: timeout=4
Connection: Keep-Alive
Content-Type: image/png
HTML
HTTP/1.1 200 OK
Date: Sat, 31 Jul 2010 12:46:13 GMT
Server: Apache
X-Powered-By: PHP/5.2.11
Expires: Sat, 31 Jul 2010 15:46:13 GMT
Cache-Control: max-age=10800, s-maxage=10800, must-revalidate, proxy-revalidate
Content-Encoding: gzip
Vary: Accept-Encoding
Last-Modified: Wed, 24 Mar 2010 20:30:36 GMT
Keep-Alive: timeout=4
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=ISO-8859-15
CSS
HTTP/1.1 200 OK
Date: Sat, 31 Jul 2010 12:48:21 GMT
Server: Apache
X-Powered-By: PHP/5.2.11
Expires: Sat, 31 Jul 2010 15:48:21 GMT
Cache-Control: max-age=10800, s-maxage=10800, must-revalidate, proxy-revalidate
Content-Encoding: gzip
Vary: Accept-Encoding
Last-Modified: Thu, 18 Mar 2010 21:40:12 GMT
Keep-Alive: timeout=4
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/css
JavaScript
HTTP/1.1 200 OK
Date: Sat, 31 Jul 2010 12:48:21 GMT
Server: Apache
X-Powered-By: PHP/5.2.11
Expires: Sat, 31 Jul 2010 15:48:21 GMT
Cache-Control: max-age=10800, s-maxage=10800, must-revalidate, proxy-revalidate
Content-Encoding: gzip
Vary: Accept-Encoding
Last-Modified: Thu, 18 Mar 2010 21:40:12 GMT
Keep-Alive: timeout=4
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/x-javascript
Aktualisiere

Ich habe Jumbys Vorschlag getestet und das Ablaufdatum meiner CSS auf 1 Jahr festgelegt:

Cache-Control:max-age=31536000, s-maxage=31536000, must-revalidate, proxy-revalidate
Connection:Keep-Alive
Content-Encoding:gzip
Content-Length:4198
Content-Type:text/css
Date:Mon, 02 Aug 2010 20:48:56 GMT
Expires:Tue, 02 Aug 2011 20:48:56 GMT
Keep-Alive:timeout=5, max=99
Last-Modified:Thu, 18 Mar 2010 20:40:12 GMT
Server:Apache/2.2.14 (Win32) PHP/5.3.1
Vary:Accept-Encoding
X-Powered-By:PHP/5.3.1

Chrome behauptet jedoch weiterhin "explizit nicht cachefähig ".