Wat het betekent
De gecachte kopie van de client is nog geldig, dus de server stuurt geen body. Het is het antwoord op een voorwaardelijk verzoek met If-None-Match of If-Modified-Since.
Veelvoorkomende oorzaken
- De ETag in If-None-Match komt overeen met de huidige versie
- De resource is niet gewijzigd sinds If-Modified-Since
- Een browser die een gecachte asset opnieuw valideert
Zo los je het op
Als client of bezoeker
Gebruik de gecachte body. Lijkt de inhoud verouderd, dan klopt de validator misschien niet; forceer herladen of controleer hoe ETags worden gemaakt.
Als beheerder van de site of API
Genereer stabiele ETags (gelijk op alle servers achter een load balancer) en stuur dezelfde cacheheaders als bij 200.
Voorbeeldantwoord
HTTP/1.1 304 Not Modified
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
ETag: "33a64df5"
Cache-Control: max-age=3600 Specificatie
Veelgestelde vragen
› Is 304 een fout?
Nee. Het bespaart bandbreedte door de client te vertellen dat zijn cache actueel is.
› Waarom zien gebruikers na een deploy oude bestanden?
Cacheheaders staan verouderde kopieën toe. Gebruik bestandsnamen met hash voor assets en een korte max-age met validatie voor HTML.