1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Utiliser des en-tĂȘtes pour optimiser la mise en cache des ressources
Ce guide concerne les en-tĂȘtes HTTP utilisĂ©s pour optimiser la mise en cache des ressources et vĂ©rifier si une ressource a Ă©tĂ© modifiĂ©e depuis la derniĂšre fois qu'elle a Ă©tĂ© rĂ©cupĂ©rĂ©e par un client. L'utilisation de ces en-tĂȘtes permet d'Ă©conomiser de la bande passante et d'accĂ©lĂ©rer le chargement des pages en Ă©vitant de renvoyer des ressources statiques inchangĂ©es.
Utilisation de l'en-tĂȘte Expires
Configurer les en-tĂȘtes de mise en cache en utilisant les directives du module mod_expires
dans le fichier .htaccess
à la racine de votre répertoire du site (p.ex /web
ou /sites/domain.xyz
):
- ouvrir ou créer le fichier
.htaccess
Ă la racine. entrer le code suivant :
<IfModule mod_expires.c>
puis entrer vos commandes, p.ex :
ExpiresActive On ExpiresByType text/html "access plus 1 week" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType text/css "access plus 1 month" ExpiresByType application/javascript "access plus 1 month"
- ces directives définissent la durée de validité des ressources spécifiques ; dans cet exemple :
- les fichiers HTML sont mis en cache pendant une semaine
- les images JPEG, les fichiers CSS et les fichiers JavaScript sont mis en cache pendant un mois
- vous pouvez ajuster ces valeurs selon vos besoins
- ces directives définissent la durée de validité des ressources spécifiques ; dans cet exemple :
terminer l'ajout par la balise de fermeture :
</IfModule>
- enregistrer le fichier
.htaccess
.
Utilisation de l'en-tĂȘte If-Modified-Since
L'en-tĂȘte HTTP If-Modified-Since
est utilisé par les clients pour vérifier si une ressource a été modifiée depuis la derniÚre fois qu'elle a été récupérée. Si la ressource n'a pas changé, le serveur peut répondre avec un code d'état 304 Not Modified
, évitant ainsi de renvoyer la ressource complÚte. Cela permet de réduire la bande passante et d'accélérer le chargement des pages.
Pour tirer parti de l'en-tĂȘte If-Modified-Since
sur votre serveur :
s'assurer que votre serveur Web est configurĂ© pour renvoyer l'en-tĂȘte
Last-Modified
lorsqu'une ressource est servie ; p.ex avec Apache, cela peut ĂȘtre fait via le modulemod_headers
:<IfModule mod_headers.c> Header set Last-Modified "expr=%{NOW}" </IfModule>
lorsque le client fait une demande ultĂ©rieure pour la mĂȘme ressource, il inclura l'en-tĂȘte
If-Modified-Since
avec la date de la derniĂšre modification connue:GET /resource HTTP/1.1 Host: www.example.com If-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMT
le serveur compare alors la date de l'en-tĂȘte
If-Modified-Since
avec la date de la derniÚre modification de la ressource ; si la ressource n'a pas été modifiée depuis cette date, le serveur renvoie une réponse304 Not Modified
:HTTP/1.1 304 Not Modified
- sinon, le serveur renvoie la ressource mise Ă jour avec un code d'Ă©tat
200 OK
.
En combinant les en-tĂȘtes Expires
et If-Modified-Since
, vous pouvez optimiser efficacement la mise en cache et la vérification des modifications de vos ressources, offrant ainsi une meilleure performance à vos utilisateurs.