Comme beaucoup d'admin système qui bossent dans l'hébergement web. Nous avons déjà eu la remarque mais pourquoi mon site mets 3 secondes pour s'afficher . Avant de critiquer les développeurs comme d'habitude .
Nous allons mettre en cache le contenu statique comme les css,image,html,js bla bla et bla.
Le module apache qui permet la mise en cache est le mod_expires
/*
a2enmod expires
ou
ln -s ../mods-available/expires.load expires.load
*/
Dans votre vhost
/*
ExpiresActive On
<Directory /bla/>
ExpiresByType text/css "access plus 5 days"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
</Directory>
*/
Dans le cas actuel on cache les css 5 jours , les gifs , jpeg , png sont en cache 1 mois.
Vérifier que notre cache est bien fonctionnel :
/*
:/tmp# wget -S http://www.robertain.com/public/ncdu1.JPG
--2011-12-14 23:33:06-- http://www.robertain.com/public/ncdu1.JPG
Résolution de www.robertain.com... 88.191.127.248, 88.191.222.37
Connexion vers www.robertain.com|88.191.127.248|:80...connecté.
requête HTTP transmise, en attente de la réponse...
HTTP/1.1 200 OK
Date: Wed, 14 Dec 2011 22:33:06 GMT
Server: Apache
Last-Modified: Fri, 29 Apr 2011 17:38:52 GMT
ETag: "3b446c-6792-4a21225ac4300"
Accept-Ranges: bytes
Content-Length: 26514
Cache-Control: max-age=2592000
Expires: Fri, 13 Jan 2012 22:33:06 GMT
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: image/jpeg
Longueur: 26514 (26K) [image/jpeg]
Sauvegarde en : «ncdu1.JPG»
100%[==================================================================================================================>] 26 514 --.-K/s ds 0,07s
2011-12-14 23:33:06 (378 KB/s) - «ncdu1.JPG» sauvegardé [26514/26514]
*/
Avec lynx
/*
# lynx -head http://www.robertain.com/themes/Paris/style.css
HTTP/1.1 200 OK
Date: Wed, 14 Dec 2011 22:41:05 GMT
Server: Apache
Last-Modified: Fri, 28 Jan 2011 18:15:12 GMT
ETag: "3b4595-2f98-49aec0c0d4c00"
Accept-Ranges: bytes
Cache-Control: max-age=432000
Expires: Mon, 19 Dec 2011 22:41:05 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 2981
Connection: close
Content-Type: text/css
*/
Par rapport à une requête http classique nous avons 2 headers en plus
- Cache-control : max-age : Temps en secondes pendant lequel le contenu sera en cache.
- Expires : Date d'expiration du cache
Bien-sur je vous dis pas de redémarrer apache ...
Ce n'est qu'à ce moment que vous pouvez gueuler sur les développeurs. Ou après avoir mis du nginx (mais je maitrise pas encore la bête) .
Derniers commentaires