Configuration Apache mod_expires

Mammouth du PHP | 568 Messages

16 nov. 2011, 11:39

Bonjour à tous,

J'ai mis en place le mod_expires sur mon serveur Apache mais j'ai l'impression qu'il y a un soucis, et j'aurais bien besoin de vos lumières.

Voici le fichier de conf apache définissant le mod_expires

Code : Tout sélectionner

FileETag None ExpiresActive On ExpiresDefault "access plus 300 seconds" ExpiresByType text/html "access plus 120 seconds" ExpiresByType text/css "access plus 1 month" ExpiresByType text/javascript "access plus 1 month" ExpiresByType application/x-javascript "access plus 1 month" ExpiresByType application/javascript "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/x-icon "access plus 1 month"
A noter que j'ai aussi activé le mode deflate afin de compresser à la volée mes ressources, la config est la suivante:

Code : Tout sélectionner

#Highest 9 - Lowest 1 DeflateCompressionLevel 9 AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/atom_xml AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/x-httpd-php AddOutputFilterByType DEFLATE application/x-httpd-fastphp AddOutputFilterByType DEFLATE application/x-httpd-eruby SetOutputFilter DEFLATE SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.(?:pdf|avi|mov|mp3|mp4|rm)$ no-gzip dont-vary BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # Pour les proxies Header append Vary User-Agent env=!dont-vary DeflateFilterNote Input instream DeflateFilterNote Output outstream DeflateFilterNote Ratio ratio LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate CustomLog "D:/www/logs/deflate.log" deflate
Si j'ai bien tout compris, mes ressources devraient normalement être en cache pendant 1 mois (image, css et js).

Mais je n'ai pas l'impression que cela fonctionne correctement.

Au chargement d'une page j'ai les informations suivantes (avec un status 200):

En-têtes

Code : Tout sélectionner

Réponse Date Wed, 16 Nov 2011 09:33:25 GMT Server Apache/2.2.20 (Win32) mod_auth_sspi/1.0.4 PHP/5.3.5 Last-Modified Tue, 15 Nov 2011 15:32:12 GMT Accept-Ranges bytes Cache-Control max-age=2592000 Expires Fri, 16 Dec 2011 09:33:25 GMT Vary Accept-Encoding,User-Agent Content-Encoding gzip Content-Length 5253 Content-Type text/css Requête Host navettepaie.dev.********** User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0 Accept text/css,*/*;q=0.1 Accept-Language fr Accept-Encoding gzip, deflate Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 Connection keep-alive Referer http://navettepaie.dev.**********/navettepaie/index/accueil/ Cookie __utma=139918188.210663584.1316787693.1320940443.1321364189.23; __utmz=139918188.1319546842.19.10.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=site%3A**********; PHPSESSID=tlbq22m7guaepl6vegq2snfi42
Cache

Code : Tout sélectionner

Last Modified Wed Nov 16 2011 10:33:25 GMT+0100 Last Fetched Wed Nov 16 2011 10:33:28 GMT+0100 Expires Fri Dec 16 2011 10:33:25 GMT+0100 Data Size 5253 Fetch Count 14 Device disk
Si je rafraichit cette même page, le status est bien à 304 not modified (ça me parait normal).

Par contre si cette même ressource ce trouve sur une autre page, elle est rechargé avec un status 200.

Bref je ne suis pas expert la dedans, est-ce un comportement normal ? (pas à mon sens)

Merci d'avance pour votre aide.

Eléphant du PHP | 275 Messages

16 nov. 2011, 12:36

Pas normal non. Ta ressource a la meme url sur toutes tes pages ?

Mammouth du PHP | 568 Messages

16 nov. 2011, 16:25

Pas normal non. Ta ressource a la meme url sur toutes tes pages ?
Oui.

Je ne vois pas vraiment le pourquoi tu comment.

De quel côté je peux commencer à chercher ? Headers de la page ? Autres ?