Expiration cache


💡

L’expiration du cache (ou cache expiration) est un mécanisme qui permet de définir combien de temps une ressource web (comme une image, une feuille CSS ou un fichier JavaScript) peut être stockée en cache dans le navigateur d’un utilisateur avant d’être rechargée depuis le serveur. Cela permet de réduire les temps de chargement, améliorer les performances et optimiser l’expérience utilisateur.


Qu’est-ce que l’expiration du cache ?


Lorsqu’un internaute visite une page web, son navigateur enregistre certaines ressources localement pour éviter de les recharger à chaque visite. Ce processus s’appelle la mise en cache.
L’expiration du cache détermine combien de temps ces ressources peuvent être conservées avant d’expirer et d’être remplacées par une version à jour.


Les principaux en-têtes HTTP liés à l’expiration cache


Deux en-têtes HTTP sont utilisés pour gérer l’expiration du cache :


Expires

  • – Définit une date et une heure précises d’expiration.

Exemple :

Expires: Wed, 07 Aug 2025 12:00:00 GMT


Cache-Control

  • Plus moderne et plus flexible.
  • Permet de définir un délai en secondes avant l’expiration.

Exemple :

Cache-Control: max-age=86400


max-age=86400 signifie que la ressource est valide pendant 24 heures (86400 secondes).


Pourquoi définir une expiration de cache ?


Voici les principaux avantages :

  • Améliorer les performances du site en réduisant le nombre de requêtes serveur
  • Accélérer le chargement des pages pour les visiteurs réguliers
  • Réduire la consommation de bande passante
  • Alléger la charge sur les serveurs


Quand faut-il mettre à jour l’expiration du cache ?


Il est important de mettre à jour l’expiration du cache lorsque :


  • – Vous modifiez une ressource statique (CSS, JS, image…)
  • – Vous mettez en ligne une nouvelle version du site
  • – Vous voulez forcer le navigateur à recharger une version à jour


Une pratique courante consiste à modifier le nom du fichier (ex : style.css?v=2) pour forcer le navigateur à recharger la bonne version, tout en conservant des délais longs d’expiration.


Exemples de configuration


Sur un serveur Apache (via .htaccess) :

apache

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg « access plus 1 month »
ExpiresByType text/css « access plus 1 week »
</IfModule>


Sur un serveur Nginx :

nginx

location ~* \.(jpg|jpeg|png|gif|css|js)$ {
expires 30d;
}


Impact SEO et expérience utilisateur


  • – Google prend en compte les performances de chargement dans ses critères de référencement.
    – Une bonne gestion du cache (dont l’expiration) permet d’améliorer votre score Core Web Vitals.
    – Cela participe à offrir une expérience fluide, surtout sur mobile.