vendredi, mars 29, 2024
Nom d'utilisateur : Mot de passe :
Home > Dossiers > Administration système > Gestion de cache avec Apache
[NEWS]
Envoyé par unreal
Il y a plusieurs cas qui justifient de configurer Apache pour modifier les entêtes des fichiers servis, par exemple :

- Vous hébergez un site très fréquenté et vous voulez réduire les requêtes successives sur les mêmes images, js, fichiers de style et pages statiques qui ne changent que rarement
- Vous avez une application Web qui envoie des entêtes de cache, mais vous voulez écraser la valeur envoyée sans modifier l'application
- Vous utilisez IE6 comme navigateur et vous souhaitez lui imposer un comportement de cache moins aléatoire

Apache propose plusieurs façons de gérer le cache des fichiers servis. Le premier est via le module mod_expires, par exemple :

LoadModule expires_module modules/mod_expires.so
...
ExpiresActive On
ExpiresByType image/gif A86400
ExpiresByType image/jpeg A86400
ExpiresByType image/png A86400


Dans cet exemple, le navigateur gardera les images en cache pendant une journée avant de re-télécharger. L'inconvénient de cette méthode est que mod_expire n'écrase pas les entêtes ; si l'application qui génère les images a déjà appliqué une politique de cache, celle-ci restera.

Si le but est d'écraser, il existe une autre façon, via mod_headers, par exemple :

LoadModule headers_module modules/mod_headers.so
...
<Location ~ "\.(gif|jpe?g|png)$">
    Header set Cache-Control "max-age=86400"
</Location>


Cet exemple est comparable au précédent en termes de fonctionnalité, sauf que les entêtes de même nom seront écrasées cette fois-ci.

La directive « Header » supporte plusieurs actions :

- set : remplace l'entête de même nom
- append : ajoute à l'entête de même nom
- merge : complète l'entête de même nom
- add : duplique l'entête (déconseillé)
- unset : enlève l'entête
- echo : copie l'entête de requête dans la réponse
- edit : permet d'éditer l'entête via des RegEx

Conclusion : vous avez maintenant la possibilité de gérer vos entêtes de cache aux petits oignons !

Posté le 26/02/09 à 15:50