<-
Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

Module Apache mod_expires

Langues Disponibles:  en  |  fr  |  ja  |  ko 

Description:G�n�ration des en-t�tes HTTP Expires et Cache-Control en fonction de crit�res sp�cifi�s par l'utilisateur
Statut:Extension
Identificateur�de�Module:expires_module
Fichier�Source:mod_expires.c

Sommaire

Ce module permet de contr�ler la d�finition de l'en-t�te HTTP Expires et la directive max-age de l'en-t�te HTTP Cache-Control dans les r�ponses du serveur. La date d'expiration peut �tre d�finie soit par rapport � la date de derni�re modification du fichier source, soit par rapport � l'heure d'acc�s du client.

Ces en-t�tes HTTP permettent d'informer le client quant � la validit� et � la persistence du document. S'il est pr�sent dans le cache, et tant qu'il n'est pas arriv� � expiration, le document sera servi � partir de ce dernier, plut�t qu'� partir du document source. Apr�s expiration, la copie du document dans le cache sera consid�r�e comme "expir�e" et donc invalide, et une nouvelle copie devra �tre obtenue � partir du document source.

Pour modifier les directives de contr�le du cache autres que max-age (voir la RFC 2616 section 14.9), vous pouvez utiliser la directive Header.

Lorsque l'en-t�te Expires est d�j� pr�sent dans la r�ponse g�n�r�e par le serveur, par exemple s'il a �t� cr�� par un script CGI ou un serveur original via un serveur mandataire, ce module n'ajoute aucun en-t�te Expires ou Cache-Control.

Directives

Sujets

top

Autre syntaxe de d�finition de l'intervalle

Pour une syntaxe plus lisible, on peut aussi utiliser les directives ExpiresDefault et ExpiresByType comme suit :

ExpiresDefault "base  [plus num type] [num type] ..."
ExpiresByType type/encoding "base  [plus num type] [num type] ..."
    

o� base peut �tre :

Le mot-cl� plus est optionnel. num doit correspondre � une valeur enti�re [compatible avec atoi()], et type peut �tre choisi parmi :

Par exemple, pour faire expirer par d�faut les documents 1 mois apr�s leur acc�s, on peut utiliser une des directives suivantes :

ExpiresDefault "access plus 1 month"
ExpiresDefault "access plus 4 weeks"
ExpiresDefault "access plus 30 days"
    

La date d'expiration peut �tre d�finie plus pr�cis�ment en ajoutant plusieurs clauses 'num type' :

ExpiresByType text/html "access plus 1 month 15 days 2 hours"
ExpiresByType image/gif "modification plus 5 hours 3 minutes"
    

Notez que si vous utilisez une configuration bas�e sur la date de modification, l'en-t�te Expires ne sera pas ajout� � un contenu qui ne provient pas directement d'un fichier sur disque ; et ceci tout simplement parce que ce type de contenu ne poss�de pas de date de modification.

top

ExpiresActive Directive

Description:Active la g�n�ration d'en-t�tes Expires
Syntaxe:ExpiresActive On|Off
D�faut:ExpiresActive Off
Contexte:configuration du serveur, serveur virtuel, r�pertoire, .htaccess
AllowOverride:Indexes
Statut:Extension
Module:mod_expires

Cette directive permet d'activer ou de d�sactiver la g�n�ration des en-t�tes Expires et Cache-Control pour les documents concern�s ; en d'autres termes, si cette directive se trouve dans un fichier .htaccess, par exemple, elle ne s'applique qu'aux documents g�n�r�s � partir du r�pertoire consid�r�. Si elle est d�finie � Off, les en-t�tes ne seront g�n�r�s pour aucun document du domaine consid�r� (sauf surcharge de la configuration � un niveau inf�rieur, comme un fichier .htaccess qui l'emporterait sur le fichier de configuration du serveur). Si elle est d�finie � On, les en-t�tes seront ajout�s aux documents servis en fonction des crit�res d�finis par les directives ExpiresByType et ExpiresDefault (voir plus loin).

Notez que cette directive ne permet pas de garantir qu'un en-t�te Expires ou Cache-Control sera g�n�r�. Si les crit�res ne sont pas respect�s, aucun en-t�te ne sera g�n�r�, et la directive produira le m�me effet que si elle n'avait pas �t� d�finie.

top

ExpiresByType Directive

Description:D�finition de la valeur de l'en-t�te Expires en fonction du type MIME
Syntaxe:ExpiresByType type MIME <code>secondes
Contexte:configuration du serveur, serveur virtuel, r�pertoire, .htaccess
AllowOverride:Indexes
Statut:Extension
Module:mod_expires

Cette directive permet de d�finir la valeur de l'en-t�te Expires et de la directive max-age de l'en-t�te Cache-Control g�n�r�s pour les documents du type MIME sp�cifi� (par exemple, text/html). Le second argument d�finit le nombre de secondes qui seront ajout�es � un temps de base pour calculer la date d'expiration. Cache-Control: max-age se calcule en soustrayant la date de la requ�te de la date d'expiration et s'exprime en secondes.

Le champ <code> permet de sp�cifier quel temps doit �tre utilis� comme temps de base; M signifie que c'est la date de derni�re modification du fichier qui doit �tre utilis�e comme temps de base, alors que A signifie que c'est le moment o� le client a acc�d� au document qui doit �tre utilis� comme temps de base.

La diff�rence d'effet est subtile. Si on utilise M, toutes les copies existantes du document dans tous les caches expireront au m�me moment, ce qui peut convenir par exemple pour une notice hebdomadaire qui correspond toujours � la m�me URL. Si on utilise A, la date d'expiration sera diff�rente pour chaque client, ce qui peut convenir pour des fichiers d'images qui ne changent pas tr�s souvent, et en particulier pour un ensemble de documents en relation qui se r�f�rent tous aux m�mes images (ces images sont alors acc�d�es de mani�re r�p�titive dans un intervalle de temps assez court).

Exemple :

# active la g�n�ration des en-t�tes Expires
ExpiresActive On
# les images GIF expirent au bout d'un mois dans le cache du
# client
ExpiresByType image/gif A2592000
# les documents HTML restent valables une semaine apr�s leur date
# de derni�re modification
ExpiresByType text/html M604800
      

Notez que cette directive ne produit d'effet que si ExpiresActive On a �t� sp�cifi�. Elle l'emporte, mais seulement pour le type MIME sp�cifi�, sur toute date d'expiration d�finie par la directive ExpiresDefault.

Vous pouvez aussi d�finir le mode de calcul de la date d'expiration en utilisant une syntaxe alternative, comme d�crit plus haut dans ce document.

top

ExpiresDefault Directive

Description:Mode de calcul par d�faut de la date d'expiration
Syntaxe:ExpiresDefault <code>secondes
Contexte:configuration du serveur, serveur virtuel, r�pertoire, .htaccess
AllowOverride:Indexes
Statut:Extension
Module:mod_expires

Cette directive permet de d�finir le mode de calcul par d�faut de la date d'expiration pour tous les documents du domaine consid�r�. Elle peut �tre annul�e pour certains types de documents par la directive ExpiresByType. Voir la description de cette derni�re directive pour plus de d�tails � propos de la syntaxe de l'argument, ainsi que la description de la syntaxe alternative.

Langues Disponibles:  en  |  fr  |  ja  |  ko 

top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.