Documentation technique : Debian
Documentation basée sur la distribution Debian

> > > > Expire headers

Expire headers

Le mod_expires permet de contrôler le temps d’expiration d’un fichier récupéré par le visiteur lors de la visite d’une page web en modifiant son entête Expires.

Cette entête défini auprès du navigateur client le temps de validité et de persistence du document, lui indiquant combien de temps il est souhaitable qu’il le conserve dans son cache local.

Une correcte configuration de ces directives permettent d’abaisser le nombre de hits sur le serveur car le client utilisera son cache lors de rechargement d’un document qui n’est pas considéré comme expiré.

Configuration fine

Dans un premier temps, on active le module mod_expires d’Apache si ce n’est déjà fait :

  1. sudo a2enmod expires

Puis on lui crée un fichier de configuration dédié :

  1. sudo nano /etc/apache2/conf-available/expires.conf

Dans lequel on ajoute ce contenu :

  1. <IfModule mod_expires.c>
  2.     ExpiresActive On
  3.     ExpiresDefault "access plus 1 month"
  4.  
  5.     # Médias : images, video, audio
  6.     ExpiresByType image/gif "access plus 1 month"
  7.     ExpiresByType image/png "access plus 1 month"
  8.     ExpiresByType image/jpg "access plus 1 month"
  9.     ExpiresByType image/jpeg "access plus 1 month"
  10.     ExpiresByType video/ogg "access plus 1 month"
  11.     ExpiresByType audio/ogg "access plus 1 month"
  12.     ExpiresByType video/mp4 "access plus 1 month"
  13.     ExpiresByType video/webm "access plus 1 month"
  14.    
  15.     # Même si présent dans pas mal de tutos, pose problème :
  16.     # https://core.spip.net/issues/2537
  17.     ExpiresByType text/html  "access plus 0 seconds"
  18.     ExpiresByType text/cache-manifest "access plus 0 seconds"
  19.    
  20.     # Data
  21.     ExpiresByType text/xml "access plus 0 seconds"
  22.     ExpiresByType application/xml "access plus 0 seconds"
  23.     ExpiresByType application/json "access plus 0 seconds"
  24.    
  25.     # Feed RSS et Atom
  26.     ExpiresByType application/rss+xml "access plus 1 hour"
  27.     ExpiresByType application/atom+xml "access plus 1 hour"
  28.    
  29.     # Favicon
  30.     ExpiresByType image/x-icon "access plus 1 week"
  31.  
  32.     # Webfonts
  33.     ExpiresByType application/x-font-ttf "access plus 1 month"
  34.     ExpiresByType font/opentype "access plus 1 month"
  35.     ExpiresByType application/x-font-woff "access plus 1 month"
  36.     ExpiresByType image/svg+xml "access plus 1 month"
  37.     ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
  38.  
  39.     # CSS and JavaScript
  40.     ExpiresByType text/css "access plus 1 year"
  41.     ExpiresByType application/javascript "access plus 1 year"
  42.     ExpiresByType text/javascript "access plus 1 year"
  43. </IfModule>

Télécharger

Il est ensuite nécessaire d’activer le fichier de configuration et de redémarrer Apache de la sorte :

  1. sudo a2enconf expires
  2. sudo /etc/init.d/apache2 restart

Télécharger

Quelques explications sur les directives ci-dessus

ExpiresActive : active ou désactive la génération des en-têtes Expires et Cache-Control des documents. Sa valeur peut être On ou Off.

ExpiresDefault : définie le temp d’expiration par défaut de tous les documents, s’ils ne sont pas redéfinis ensuite par des directives ExpiresByType.

ExpiresByType : permet de définir au cas par cas par type de document le temps d’expiration.

Pour une description complête de ses directives et la compréhension du fichier exemple ci-dessus, vous pouvez vous référer à la documentation Apache de référence.

  • Auteur :
  • Publié le :
  • Mis à jour : 24/03/17

10 commentaires


Qui êtes-vous ?
[Se connecter]
Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.