Hoe werkt caching?
De regels voor HTTP-caching staan in RFC 9111, een internetstandaard van de IETF uit juni 2022. Die standaard onderscheidt twee soorten caches:
- Private cache: bedoeld voor één gebruiker, meestal de cache in de browser.
- Gedeelde cache: bewaart antwoorden voor meerdere gebruikers, bijvoorbeeld een proxy of een CDN.
Elke aanvraag van de browser gaat eerst langs de eigen cache. Staat daar een geldige kopie, dan gebruikt de browser die en gaat er niets over het netwerk. Is de kopie verlopen, dan kan de browser bij de server checken of er iets is veranderd. Dat doet hij met de waarde uit de ETag- of Last-Modified-header. Is er niets veranderd, dan antwoordt de server met statuscode 304 (Not Modified), zonder de inhoud opnieuw te sturen.
Voorbeeld: Cache-Control instellen voor een webshop
Een webshop in keukengerei uit Breda kiest per soort bestand een instelling:
| Bestand | Cache-Control | Effect |
|---|---|---|
| stijl.a81f3c.css | max-age=31536000 | De browser mag het bestand een jaar bewaren |
| Productpagina’s (HTML) | no-cache | De browser vraagt eerst aan de server of er een nieuwere versie is |
| Bestelbevestiging | no-store | Niemand mag een kopie bewaren, ook een CDN niet |
Het stukje a81f3c in de bestandsnaam is een versiecode. Past de webshop de CSS aan, dan krijgt het bestand een nieuwe naam. Zo haalt de browser direct de nieuwe versie op, ook al mocht de oude een jaar in de cache blijven. Zonder nieuwe naam kun je een bestand met een lange cachetijd niet meer bijwerken in browsers die het al hebben.
Wat zegt Google over caching?
In december 2024 schreef Google dat zijn crawlers HTTP-caching volgens de standaard ondersteunen. Ze gebruiken de headers ETag met If-None-Match en Last-Modified met If-Modified-Since. Google raadt ETag aan, omdat die minder foutgevoelig is. Stuurt de server bij een ongewijzigde pagina een 304 zonder inhoud, dan bespaart dat de server werk en dataverkeer.
Volgens Google helpt dit vooral grote sites met inhoud die weinig verandert. Google raadt aan de cache alleen te laten vernieuwen bij een echte inhoudelijke wijziging. Een nieuw jaartal in de footer is volgens Google waarschijnlijk geen echte wijziging.
Verwar caching niet met
- De Google-cache: vroeger kon je in de zoekresultaten een opgeslagen kopie van een pagina openen. Die functie bestaat niet meer. Daarom gebruikt Google de robots-regel noarchive ook niet meer.
- CDN: een netwerk van servers dat je bestanden dicht bij de bezoeker levert. Caching is een van de technieken die een CDN gebruikt, maar caching werkt ook zonder CDN.
Veelgestelde vragen over Caching
Wat betekent cache?
Een cache is een opslagplek voor kopieën van eerder opgehaalde pagina’s of bestanden. Bij een volgend bezoek kan de browser die kopie gebruiken. Dan hoeft hij niet alles opnieuw te downloaden.
Wat is het verschil tussen no-cache en no-store?
Bij no-cache mag de browser een kopie bewaren, maar moet hij eerst bij de server checken of die nog klopt. Bij no-store mag niemand een kopie bewaren.
Helpt caching voor SEO?
Indirect. Pagina’s laden sneller voor terugkerende bezoekers. Grote sites kunnen met ETag of Last-Modified het crawlen efficiënter maken, omdat de server bij ongewijzigde pagina’s minder hoeft te sturen.