Se eseguo una verifica sui miei siti con Google Chrome, ottengo questo messaggio nel browser caching sezione Leverage:di revisione Google Chrome su caching
Le seguenti risorse manca una scadenza cache. Risorse che non si specifica una scadenza non possono essere memorizzate nella cache dai browser:
un elenco di tutte le immagini di seguito. Ottengo un avviso simile in Leverage caching proxy:
considerare l'aggiunta di un "Cache-Control: pubblico" intestazione per i seguenti risorse:
A parte le immagini, ho anche ottenere una avviso sui file HTML, CSS e JavaScript:
Le seguenti risorse sono esplicitamente non memorizzabili nella cache. Si consideri che li rende cacheable, se possibile:
E 'divertente perché ho lavorato duramente per memorizzare nella cache tutti i contenuti statici (tranne che per le immagini, dove ho appena lasciato impostazioni di default di Apache). Firefox salva effettivamente tutti questi elementi nella cache.
C'è qualcosa che dovrei migliorare nelle mie intestazioni HTTP?
Ecco il set di intestazione completo di alcuni elementi come caricati dopo aver rimosso il browser caché. Le immagini utilizzano le impostazioni predefinite che non ho veramente controllato prima, il resto dovrebbe essere cached per tre ore. Posso impostare le intestazioni con sia .htaccess
e PHP
.
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
Aggiornamento
Ho provato il suggerimento di Jumby e impostare il mio CSS scadenza a 1 anno:
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
Tuttavia, Chrome sostiene ancora "esplicitamente non-cacheable".
Appena ottenuto un problema simile, qualunque cosa faccia, il controllo di Chrome continua a bugging. – axkibe