DevToolPal
FR
3xx Redirection

304 Not Modified

Non modifié

Signification

La copie en cache du client est toujours valide, donc le serveur n'envoie pas de corps. Il répond à une requête conditionnelle avec If-None-Match ou If-Modified-Since.

Causes courantes

  • L'ETag de If-None-Match correspond à la version actuelle
  • La ressource n'a pas changé depuis If-Modified-Since
  • Un navigateur revalide une ressource en cache

Comment corriger

Côté client ou visiteur

Utilisez le corps en cache. Si le contenu semble périmé, le validateur est peut-être erroné ; forcez le rechargement ou vérifiez la génération des ETag.

Côté propriétaire du site ou de l’API

Générez des ETag stables (identiques sur tous les serveurs derrière un répartiteur de charge) et envoyez les mêmes en-têtes de cache qu'avec un 200.

Exemple de réponse

HTTP/1.1
HTTP/1.1 304 Not Modified
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
ETag: "33a64df5"
Cache-Control: max-age=3600

Spécification

RFC 9110 §15.4.5

FAQ

› 304 est-il une erreur ?

Non. Il économise de la bande passante en indiquant au client que son cache est à jour.

› Pourquoi les utilisateurs voient-ils d'anciens fichiers après un déploiement ?

Les en-têtes de cache autorisent des copies périmées. Utilisez des noms de fichiers avec empreinte pour les ressources et un max-age court avec revalidation pour le HTML.