HTTP 304 Non modifié
304 Not Modified signifie que la ressource n'a pas changé depuis la dernière vérification et ne doit pas être transmise à nouveau.
Signification
Le navigateur envoie une requête conditionnelle avec If-None-Match (ETag) ou If-Modified-Since. Si le contenu n'a pas changé, le serveur renvoie 304 sans corps de réponse et le navigateur utilise sa copie locale. Cela économise de la bande passante et accélère le chargement.
Causes fréquentes
- Une nouvelle visite d'une page ou d'un fichier déjà présent dans le cache du navigateur.
- Des en-têtes ETag ou Last-Modified correctement configurés autorisent une validation conditionnelle.
- Un CDN vérifie de nouveau sa copie en cache auprès du serveur d'origine.
Que peut faire un visiteur ?
- 304 n'est pas une erreur. Si la page paraît ancienne, essayez une actualisation forcée (Ctrl+F5) pour recharger la ressource plutôt que sa copie.
Que peut faire le responsable ?
- Modifiez l'ETag chaque fois que la représentation du contenu change.
- Utilisez des URL versionnées pour les fichiers statiques, comme style.css?v=2, avec une politique Cache-Control adaptée.
- Ne répondez pas 304 aux demandes qui ne contiennent aucun en-tête conditionnel approprié.
Impact sur le référencement
Googlebot prend en charge les requêtes conditionnelles. Une réponse 304 correctement utilisée réduit la charge du serveur et peut améliorer l'efficacité de l'exploration des grands sites.
Questions fréquentes
Une réponse HTTP 304 est-elle une erreur ?
Non. Elle confirme que la copie en cache reste valable et qu'il n'est pas nécessaire de retransmettre la ressource.
Pourquoi mon navigateur affiche-t-il l'ancienne version ?
Le cache ou le CDN peut ne pas avoir détecté le changement. Essayez une actualisation forcée ou purgez le cache du CDN ciblé.