Browsercaching instellen betekent dat je met HTTP-cacheheaders bepaalt hoelang statische bestanden van je website in de browser van een bezoeker bewaard mogen blijven. In de praktijk stel je voor CSS, JavaScript, afbeeldingen, fonts en iconen vooral Cache-Control-headers in, en in sommige omgevingen ook Expires-headers. Voor versiebeheerde CSS- en JS-bestanden is bijvoorbeeld 1 jaar gebruikelijk, voor afbeeldingen 30 dagen tot 1 jaar, en voor HTML-pagina’s kies je meestal een korte cacheduur of hervalidatie. Met de juiste instellingen voorkom je dat dezelfde bestanden steeds opnieuw worden gedownload, laad je pagina’s sneller en verbeter je Core Web Vitals.
In deze gids leggen we stap voor stap uit hoe browsercaching werkt, welke cacheduur logisch is per bestandstype en hoe je dit toepast in Apache, Nginx, LiteSpeed, WordPress en via een CDN. Het doel is niet alleen een groen vinkje krijgen in een snelheidstest, maar vooral: bezoekers actuele bestanden tonen, serverbronnen slimmer gebruiken, TTFB en bandbreedteverbruik verlagen en terugkerende bezoekers merkbaar sneller laten browsen. Zeker bij shared hosting, WordPress hosting en zakelijke websites is een goede cachestrategie een van de meest effectieve performanceverbeteringen met relatief lage kosten. Hostragons web hosting pakketten
Wat is browsercaching?
Browsercaching is het tijdelijk opslaan van statische onderdelen van een webpagina op het apparaat van de gebruiker. Wanneer iemand je homepage bezoekt, worden bijvoorbeeld je logo, CSS-bestanden, JavaScript-bestanden, lettertypes en afbeeldingen gedownload. Als deze bestanden de juiste cacheheaders hebben, hoeft de browser ze bij een volgende paginaweergave of een later bezoek niet opnieuw van de server op te halen. Daardoor laadt de pagina sneller.
Stel dat je homepage in totaal 2 MB groot is. Daarvan bestaat 1,4 MB uit afbeeldingen, 300 KB uit CSS- en JS-bestanden en 100 KB uit fonts. Bij het eerste bezoek moeten deze bronnen waarschijnlijk worden gedownload. Maar bij het tweede bezoek kan de browser een groot deel van deze statische bestanden lokaal gebruiken. De hoeveelheid data die via het netwerk wordt verstuurd, daalt dan sterk. Dat verschil merk je vooral op mobiele verbindingen en bij websites met veel verkeer.
Browsercaching moet je niet verwarren met server-side caching. Servercache bewaart bijvoorbeeld PHP-output of databasequery’s op de server. Browsercache zorgt ervoor dat bestanden op het apparaat van de bezoeker opnieuw kunnen worden gebruikt. Voor de beste prestaties plan je beide lagen samen. Bij WordPress-sites zijn page cache, object cache, CDN-cache en browsercache vaak onderdelen van dezelfde optimalisatiestrategie. WordPress hosting en prestatie-optimalisatie
Waarom is browsercaching belangrijk voor SEO?
Google waardeert websites die een snelle en stabiele gebruikerservaring bieden. Browsercaching geeft op zichzelf geen garantie op hogere posities, maar ondersteunt je SEO-prestaties wel doordat het invloed heeft op laadsnelheid, interactievertraging en de efficiëntie waarmee bronnen worden geladen. Vooral bij terugkerende bezoeken, navigatie tussen categorieën, productpagina’s en blogartikelen kan het verschil groot zijn.
In moderne SEO draait technische performance niet alleen om een Lighthouse-score. De gebruikerservaring die Google beoordeelt, hangt samen met LCP, INP, CLS, TTFB en echte gebruikersdata. Als CSS- en JS-bestanden onnodig telkens opnieuw worden gedownload, kan dat de LCP vertragen. Fonts die op elke pagina opnieuw worden opgehaald, kunnen visuele stabiliteit beïnvloeden. Grote afbeeldingen zonder goede cache-instellingen zorgen bij mobiele gebruikers al snel voor een trage beleving.
- Snellere terugkerende bezoeken: De gebruiker hoeft dezelfde bestanden niet opnieuw te downloaden.
- Minder bandbreedteverbruik: Serververkeer neemt af en hostingresources worden efficiënter gebruikt.
- Betere crawl-efficiëntie: Statische bronnen worden consistenter aangeboden aan bots en gebruikers.
- Lagere kans op afhaken: Snel ladende pagina’s verhogen de kans op interactie en conversie.
- Stabielere prestaties: Pieken in belasting bij hosting en CDN worden beter opgevangen.
Belangrijke HTTP-cacheheaders
De cacheduur van browsercaching wordt geregeld via HTTP-responseheaders. De meest gebruikte headers zijn Cache-Control, Expires, ETag en Last-Modified. In moderne projecten is Cache-Control het belangrijkste stuurmiddel; Expires wordt vooral nog gebruikt voor achterwaartse compatibiliteit.
Cache-Control
Cache-Control vertelt de browser en tussenliggende cachesystemen hoe een bestand bewaard mag worden. De meest gebruikte directives zijn:
- max-age: Geeft in seconden aan hoelang een bron als vers mag worden beschouwd. max-age=31536000 is bijvoorbeeld ongeveer 1 jaar.
- public: Geeft aan dat de bron mag worden opgeslagen in de browser en in gedeelde caches zoals een CDN.
- private: Geeft aan dat de bron alleen in de browser van de gebruiker bewaard mag worden.
- no-cache: Geeft aan dat de bron vóór gebruik opnieuw bij de server gevalideerd moet worden; dit betekent dus niet dat caching volledig uitstaat.
- no-store: Geeft aan dat de bron nergens mag worden opgeslagen; geschikt voor betaalpagina’s, dashboards en pagina’s met persoonlijke gegevens.
- immutable: Geeft aan dat de bron niet verandert zolang de cacheduur loopt; ideaal voor bestanden met versiebeheer in de bestandsnaam.
Een voorbeeldheader voor een statisch bestand is: Cache-Control: public, max-age=31536000, immutable. Daarmee vertel je de browser dat het bestand 1 jaar bewaard mag worden en dat er geen extra controle nodig is zolang de bestandsnaam hetzelfde blijft.
Expires
De Expires-header geeft aan tot welke datum en tijd een bron geldig is. Voor een afbeelding kun je bijvoorbeeld een Expires-waarde instellen die 30 dagen in de toekomst ligt. Omdat Expires met een absolute datum werkt, is deze header minder flexibel dan Cache-Control. In moderne configuraties krijgt Cache-Control voorrang; Expires kan aanvullend worden toegevoegd voor oudere browsers.
ETag en Last-Modified
ETag en Last-Modified zijn validatiemechanismen. De browser kan aan de server vragen of de opgeslagen versie van een bestand nog actueel is. Als het bestand niet is gewijzigd, stuurt de server een 304 Not Modified-response terug en hoeft de inhoud van het bestand niet opnieuw te worden gedownload. Deze aanpak is vooral nuttig voor HTML en andere bestanden die regelmatig kunnen veranderen, of voor bronnen waarop je geen lange cacheduur wilt toepassen.
Welke cacheduur gebruik je voor welk bestandstype?
Een veelgemaakte fout is alle bestandstypen dezelfde cacheduur geven. HTML, CSS, JS, afbeeldingen, fonts en API-responses hebben echter allemaal een ander updatepatroon. De hoofdregel is eenvoudig: als je de bestandsnaam kunt wijzigen wanneer de inhoud verandert, kun je lang cachen. Verandert de inhoud vaak terwijl de bestandsnaam gelijk blijft, kies dan voor een korte duur of hervalidatie.
| Brontype | Aanbevolen duur | Aanbevolen header | Opmerking |
|---|---|---|---|
| HTML-pagina’s | 0-10 minuten of hervalidatie | no-cache, max-age=0 | Als content vaak verandert, is actualiteit belangrijker. |
| CSS en JS | 30 dagen-1 jaar | public, max-age=31536000, immutable | Gebruik versiebeheer in de bestandsnaam, zoals style.v3.css. |
| Afbeeldingen | 30 dagen-1 jaar | public, max-age=2592000 of 31536000 | Logo’s en iconen kunnen lang; campagnebeelden soms korter. |
| Fontbestanden | 6 maanden-1 jaar | public, max-age=31536000, immutable | WOFF2-bestanden veranderen meestal zelden. |
| PDF en media | 7 dagen-6 maanden | public, max-age=604800 of 15552000 | Kies voorzichtig bij catalogi of documenten die regelmatig worden bijgewerkt. |
| Admin- en betaalpagina’s | Geen cache | no-store, private | Beveiliging en persoonlijke data hebben prioriteit. |
Deze tabel is een praktische start, geen wet van Meden en Perzen. Bij een webshop mogen HTML-pagina’s met voorraad- en prijsinformatie niet te agressief worden gecachet. Productafbeeldingen kunnen daarentegen prima 1 jaar worden gecachet, zolang je bij wijzigingen ook de bestandsnaam aanpast. Op een zakelijke website kunnen logo’s, fonts en themabestanden meestal lang bewaard blijven; wisselen campagnebanners vaak, dan is 7-30 dagen veiliger.
Hoe plan je de cacheduur voor browsercaching?
Een succesvolle cachestrategie begint met het indelen van de bestanden op je website. Technisch gezien schrijf je regels per bestandsextensie; strategisch gezien bepaal je de duur op basis van hoe vaak de bron verandert.
1. Scheid statische en dynamische bronnen
CSS, JS, JPG, PNG, WebP, SVG en WOFF2 zijn statische bronnen. HTML, winkelmandjes, gebruikerspanelen, zoekresultaten en API-responses beschouw je als dynamisch. Statische bronnen kun je lang cachen, maar dynamische content moet je voorzichtiger behandelen. Gebruik vooral geen public cache voor content die specifiek is voor één gebruiker.
2. Gebruik bestandsversiebeheer
De veilige manier om lange cachetijden te gebruiken, is versiebeheer. Als je style.css 1 jaar laat cachen en daarna de inhoud wijzigt, kunnen sommige gebruikers nog lange tijd het oude ontwerp zien. Gebruik liever bestandsnamen zoals style.2026.01.css, app.v12.js of app.8f3a2.js met een hash in de naam. Bij een update wordt dan een nieuwe bestandsnaam gepubliceerd en downloadt de browser automatisch de nieuwe bron.
WordPress-thema’s en moderne buildtools kunnen dit vaak automatisch regelen. Ontwikkel je zelf een thema, dan kun je in wp_enqueue_style en wp_enqueue_script de version-parameter gebruiken om versiebeheer via querystring of bestandsnaam eenvoudiger te maken. Let wel: sommige CDN-configuraties gaan anders om met querystrings in cachegedrag. Een hash direct in de bestandsnaam is meestal robuuster.
3. Wees niet te agressief met HTML
HTML-pagina’s bevatten de zichtbare hoofdcontent voor de gebruiker en worden daarom meestal met een korte cacheduur of hervalidatie beheerd. Voor blogartikelen kan 5-10 minuten caching voldoende zijn; nieuws-, campagne- of prijspagina’s vragen vaak om een nog kortere duur. Gebruik je page cache in WordPress, bekijk de browsercacheheader dan altijd in samenhang met servercache en het purge-mechanisme van je CDN.
4. Schakel cache uit op gevoelige pagina’s
Voor inlogpagina’s, klantomgevingen, betaalstappen, besteloverzichten, facturen en pagina’s met persoonlijke data kies je headers zoals Cache-Control: no-store, private. Browsercaching is bedoeld voor performance, maar mag nooit ten koste gaan van privacy of gegevensbeveiliging. SSL is in dit verband eveneens een basisvoorwaarde. Hostragons SSL certificaten
Browsercaching instellen via Apache .htaccess
Op Apache-servers wordt browsercaching vaak ingesteld via het .htaccess-bestand. Voor veel website-eigenaren op shared hosting is dit de meest praktische route. Daarvoor moeten mod_expires en mod_headers actief zijn. In de meeste kwalitatieve hostingomgevingen zijn deze modules standaard beschikbaar.
Je kunt de volgende logica aanhouden: lange cacheduur voor afbeeldingen en fonts, lange cacheduur voor CSS en JS, en korte hervalidatie voor HTML. In de regels die je aan .htaccess toevoegt, definieer je per bestandstype ExpiresByType en Header set Cache-Control. Zo kun je bijvoorbeeld image/webp, image/jpeg, image/png en image/svg+xml 1 jaar geven; text/css en application/javascript ook 1 jaar; en text/html op no-cache zetten.
Maak vóór elke wijziging een back-up van je .htaccess-bestand. Eén verkeerd geschreven regel kan een 500 Internal Server Error veroorzaken. Open na de wijziging je website in een incognitovenster en controleer daarna in het Network-tabblad van DevTools de response headers van het betreffende bestand. Zie je geen Cache-Control-header, dan kan de servermodule uitgeschakeld zijn, kan een CDN de header aanpassen of kan een plugin de headers overschrijven.
Voor Apache zijn goede startwaarden: CSS en JS met max-age=31536000, afbeeldingen met max-age=31536000, PDF met max-age=2592000, en HTML met max-age=0 plus no-cache. Deze waarden zijn geschikt als basis, maar moeten worden afgestemd op je publicatieproces. Gebruik je performance-instellingen via .htaccess binnen de hostinginfrastructuur van Hostragons, controleer dan ook of ze niet botsen met cache-instellingen van je thema of plugins. Apache .htaccess prestatie-instellingen
Browsercaching instellen met Nginx
Op Nginx-servers definieer je cacheheaders in server- of location-blokken. Nginx wordt vaak gekozen voor drukbezochte projecten vanwege de efficiënte levering van statische bestanden. De basis is hier: per extensie een location-regel maken en daarin expires en add_header Cache-Control instellen.
Een gangbare aanpak is om CSS, JS, WebP, JPG, PNG, SVG en WOFF2 een expires 1y te geven met Cache-Control public, immutable. Voor HTML-output kies je juist expires off of no-cache. Gebruik je een CDN, test dan ook hoe dat CDN de Cache-Control-headers interpreteert die vanaf de origin-server komen.
Bij Nginx moet je erop letten dat de add_header-directive in sommige gevallen alleen op bepaalde responsecodes wordt toegepast. In moderne Nginx-configuraties kun je de parameter always gebruiken. Voeg je dezelfde header toe in zowel je applicatie, Nginx als je CDN, dan kunnen dubbele of tegenstrijdige Cache-Control-waarden ontstaan. Bepaal daarom duidelijk welke laag leidend is en voorkom dat meerdere systemen elkaar tegenspreken.
Browsercaching in LiteSpeed en WordPress-sites

LiteSpeed-servers bieden vooral voor WordPress-projecten een groot performancevoordeel in combinatie met de LiteSpeed Cache-plugin. Toch moet je browsercaching en page cache uit elkaar houden. Wanneer je in LiteSpeed Cache de optie Browser Cache activeert, kunnen statische bestanden automatisch de juiste cacheheaders krijgen. Controleer alsnog welke duur precies wordt ingesteld.
De aanbevolen werkwijze in WordPress is: cache statische assets lang en houd bestandsversiebeheer actief. Wanneer je een thema-update uitvoert, CSS wijzigt of JavaScript aanpast, moet de cacheplugin de cache legen. Gebruik je een CDN, dan moet je ook daar een purge uitvoeren. Anders kunnen sommige bezoekers een oud ontwerp zien of JavaScript tegenkomen dat niet meer goed werkt.
Populaire cacheplugins bevatten opties voor Browser Cache, Minify, Combine, Critical CSS, CDN-integratie en Object Cache. Het is niet altijd verstandig om alles tegelijk agressief aan te zetten. Begin met correcte browsercacheheaders en test daarna pas minify- en combine-instellingen. Omdat HTTP/2 en HTTP/3 inmiddels breed worden gebruikt, is het samenvoegen van alle bestanden minder noodzakelijk dan vroeger. In sommige gevallen kan combineren de cache-efficiëntie zelfs verminderen.
Is je WordPress-site traag, dan ligt dat niet altijd alleen aan browsercache. Een opgeblazen database, zwaar thema, te veel plugins, niet-geoptimaliseerde afbeeldingen en hosting met te weinig resources kunnen allemaal invloed hebben op performance. Beoordeel cache-instellingen daarom samen met goede hosting, een actuele PHP-versie en een correcte SSL-configuratie. Hostragons WordPress hosting
Hoe stel je cacheduur in bij gebruik van een CDN?
Een CDN levert statische bestanden vanaf edge-servers die geografisch dichter bij de gebruiker staan. Browsercache bewaart het bestand in de browser van de gebruiker zelf. Wanneer deze twee lagen goed samenwerken, is de prestatiewinst duidelijk merkbaar. De edge-cacheduur die je in je CDN-paneel instelt, moet wel aansluiten op de Cache-Control-headers van je origin-server.
Een algemene aanpak is: geef statische bestanden op de origin-server een Cache-Control van 1 jaar en stel in het CDN dezelfde of een gecontroleerde TTL in. Bij wijzigingen pas je de bestandsnaam aan via versiebeheer of voer je een CDN purge uit. Gebruik je CDN-cache voor HTML-pagina’s, maak dan specifieke regels. Sluit winkelmandje, account, checkout, beheeromgeving en andere persoonlijke onderdelen altijd uit van caching.
Een veelvoorkomend probleem bij websites met een CDN is dat oude bestanden zichtbaar blijven na een update. De oorzaak is meestal dat de inhoud is gewijzigd zonder de bestandsnaam aan te passen, of dat er geen CDN purge is uitgevoerd. De stevigste oplossing is tijdens het buildproces bestanden met een hash te genereren en in de HTML naar de nieuwe bestandsnaam te verwijzen. Dan vraagt de nieuwe pagina automatisch om het nieuwe bestand, ook als browser en CDN de oude versie nog bewaren.
Stap-voor-stap checklist voor implementatie
De onderstaande checklist geeft je een praktisch plan om browsercaching goed in te stellen. Voor een kleine zakelijke website kan dit binnen 30-60 minuten geregeld zijn; bij webshops of maatwerkapplicaties moet je meer tijd reserveren voor testen.
- 1. Maak een bestandsinventaris: Scheid CSS, JS, afbeeldingen, fonts, PDF, HTML en API-responses.
- 2. Bepaal de updatefrequentie: Noteer welke bestanden dagelijks veranderen en welke slechts maandelijks of minder vaak.
- 3. Kies een versiebeheerstrategie: Gebruik een hash in de bestandsnaam, een versieparameter of een buildnummer.
- 4. Voeg serverregels toe: Definieer Cache-Control-headers in Apache, Nginx, LiteSpeed of je CDN-paneel.
- 5. Sluit veilige pagina’s uit: Gebruik no-store voor admin, checkout, winkelmandje, gebruikerspanelen en pagina’s met persoonlijke gegevens.
- 6. Test de instellingen: Controleer met Chrome DevTools, curl -I, WebPageTest, Lighthouse en echte apparaten.
- 7. Monitor na livegang: Let op oude bestanden, kapotte styling of JavaScript-fouten.
Hoe test je browsercaching?
De snelste manier om te controleren of je instellingen werken, is via de ontwikkelaarstools van je browser. Open in Chrome je pagina, ga naar het tabblad Network, klik op een CSS-bestand of afbeelding en bekijk bij Response Headers de Cache-Control-waarde. Bij een tweede paginalading kun je in de kolom Status meldingen zien zoals memory cache of disk cache.
Gebruik je de commandline, dan toont curl -I jouwdomein.nl/bestand.css de responseheaders. Controleer daar Cache-Control, Expires, ETag en Last-Modified. Ontbreekt de header die je verwacht, dan past mogelijk je applicatie, webserver of CDN-laag de instelling aan.
Voor performanceanalyse kun je Lighthouse, PageSpeed Insights en WebPageTest gebruiken. Volg de aanbevelingen van deze tools echter niet blind, maar plaats ze in de context van echte gebruikersscenario’s. Lighthouse kan bijvoorbeeld een langere cacheduur aanbevelen voor statische bestanden, maar verwacht niet dezelfde agressieve aanpak voor HTML-pagina’s. Bovendien geven testtools soms waarschuwingen voor scripts van derden. Bij Google Fonts, advertentienetwerken of socialmediaplatforms heb je de cacheheaders meestal niet zelf in de hand.
Veelgemaakte fouten
Browsercaching lijkt eenvoudig, maar een verkeerde configuratie kan zorgen voor updateproblemen, beveiligingsrisico’s en een slechtere gebruikerservaring. De onderstaande fouten komen vooral bij beginners vaak voor.
- Alle bronnen 1 jaar laten cachen: HTML, API-responses en gebruikersspecifieke content horen hier niet onder te vallen.
- Lange cache gebruiken zonder versiebeheer: Gebruikers kunnen oude CSS- of JS-bestanden blijven zien.
- CDN purge vergeten: Ook als de origin-server is bijgewerkt, kan het CDN nog oude bestanden serveren.
- Meerdere cacheplugins stapelen: Verschillende plugins kunnen dezelfde headers schrijven en conflicten veroorzaken.
- Waarschuwingen over derde partijen verkeerd interpreteren: Cacheheaders van externe scripts vallen vaak buiten je controle.
- Gevoelige pagina’s cachen: Voor betaal- en accountpagina’s moet je no-store gebruiken.
Aanbevolen startwaarden
Voor een nieuwe website kun je veilige startwaarden als volgt samenvatten: CSS- en JS-bestanden met versiebeheer 1 jaar; afbeeldingen 1 jaar, maar vaak wisselende campagnebeelden 30 dagen; fonts 1 jaar; PDF-bestanden afhankelijk van de updatefrequentie 7-180 dagen; HTML-pagina’s no-cache of een korte duur van enkele minuten. Zo houd je een goede balans tussen snelheid en actualiteit.
Heb je een zakelijke informatieve website, dan leveren lange cachetijden meestal weinig problemen op. Bij een webshop kun je statische bestanden op productpagina’s lang cachen, maar prijs, voorraad, winkelmandje en gebruikersdata moeten buiten de cache blijven. Bij een nieuws- of blogsite kun je afbeeldingen en themabestanden lang bewaren en HTML-output kort cachen op basis van je publicatiefrequentie. Ook je domeinnaam, SSL en hostinginfrastructuur maken deel uit van de performanceketen. Hostragons domeinnaam controle Hostragons zakelijke hosting oplossingen
Conclusie
De juiste cacheduur voor browsercaching kan de prestaties van je website bij terugkerende bezoeken aanzienlijk verbeteren. De basisregel is: geef versiebeheer aan statische bestanden en cache die lang; geef HTML en pagina’s met persoonlijke gegevens juist een korte duur of no-store. In Apache, Nginx, LiteSpeed, WordPress en CDN-omgevingen geldt dezelfde logica: herken het type bron, bepaal hoe vaak deze verandert, test de Cache-Control-headers en blijf monitoren na publicatie.
Kort gezegd is browsercaching een goedkope optimalisatie met veel impact. Host je je website op de infrastructuur van Hostragons, dan kun je per hostingtype passende cache-instellingen kiezen en zo zowel de gebruikerservaring als je technische SEO versterken. Bekijk de hostingopties van Hostragons om de best passende oplossing te kiezen, of loop de cacheconfiguratie van je huidige website stap voor stap na. Hostragons hosting pakketten
Veelgestelde vragen
Hoe lang moet de browsercacheduur zijn?
Voor versiebeheerde statische bestanden zoals CSS, JS, afbeeldingen en fonts is 30 dagen tot 1 jaar meestal ideaal. Voor HTML-pagina’s is actualiteit belangrijker; gebruik daar no-cache, max-age=0 of een korte duur van enkele minuten.
Wat is het verschil tussen Cache-Control en Expires?
Cache-Control is een moderne en flexibelere HTTP-header die werkt met regels op basis van seconden, zoals max-age. Expires gebruikt een specifieke datum en tijd. In actuele projecten gebruik je Cache-Control als belangrijkste header en voeg je Expires alleen toe voor achterwaartse compatibiliteit.
Hoe schakel je browsercaching in WordPress in?
In plugins zoals LiteSpeed Cache, WP Rocket en W3 Total Cache kun je meestal een optie zoals Browser Cache of browsercache activeren. Daarnaast kun je via .htaccess of serverconfiguratie per bestandstype Cache-Control-headers toevoegen.
Zijn website-updates onzichtbaar bij een lange cacheduur?
Als je hetzelfde CSS- of JS-bestand wijzigt zonder de bestandsnaam te veranderen, kunnen sommige gebruikers inderdaad de oude versie blijven zien. Voorkom dit met bestandsversiebeheer, hash-bestandsnamen en eventueel een CDN purge.
Moeten betaalpagina’s en gebruikerspanelen worden gecachet?
Nee. Voor betaalpagina’s, winkelmandjes, accounts, facturen en beheerderspanelen met persoonlijke gegevens gebruik je veilige headers zoals Cache-Control: no-store, private. Performance mag nooit ten koste gaan van beveiliging.