first-partyallowedthird-partyconditionaltrackingblockedHTTP cookies

HTTP-cookies

10 min gelezenWebtechnologie

Cookies zijn de kleine tekstwaarden die browsers opslaan en bij elk verzoek naar een site terugsturen. Ze zijn de drijvende kracht achter inlogsessies, winkelwagentjes en taalvoorkeuren – en dertig jaar lang hebben ze het hele webreclame-ecosysteem aangedreven. De technische mechanica is eenvoudig. De politieke gevolgen vullen de regelgeving op drie continenten.

De volledige artikeltekst vindt u hieronder in het Engels.

Een HTTP-cookie is een naam-waardepaar dat de server naar de browser stuurt met een Set-Cookie-header. De browser slaat het op en stuurt het bij elk volgend verzoek via de Cookie-header terug naar dezelfde oorsprong. Elke cookie heeft een domein, pad, vervaldatum en een reeks vlaggen. Browsers beperken de opslag per oorsprong en totaal - typische limieten zijn 50 cookies per domein, elk 4 KB.

Wat voor cookies doen

Trie belangrijke gebruiksscenario's:

  • Sessie-identificatie. Wanneer u inlogt, geeft de server u een willekeurige sessie-ID die is opgeslagen in een cookie. Elk volgend verzoek bevat de cookie, waardoor de server u kan identificeren zonder opnieuw te authenticeren.
  • Preferences. Themakeuze, taalkeuze, laatst geziene banners. Opgeslagen in platte tekst, geen server roundtrip nodig.
  • Tracking. Een persistente unieke identificatie die vroegtijdig wordt ingesteld en door advertentienetwerken en analyses over verzoeken wordt gelezen – wat elke privacyregelgeving sinds 2018 heeft geprobeerd te beperken.

First-party cookies versus cookies van derden

A first-party cookie wordt ingesteld door de site die u bezoekt — example.com stelt een cookie in voor example.com. Deze vormen de basis voor het legitieme 'houd mij ingelogd'-gebruiksscenario.

A cookie van derden wordt geplaatst door een ander domein waarvan de inhoud in de pagina is ingesloten: een advertentie-iframe, een trackingpixel, een Facebook-likeknop. Wanneer de gebruiker later een andere site bezoekt die ook die tracker insluit, stuurt de browser dezelfde cookie van derden terug, waardoor de tracker de gebruiker op beide sites kan herkennen. Dit is de cross-site tracking waarop het surveillancekapitalisme is gebouwd.

De dood van cookies van derden

Safari was de eerste grote browser die cookies van derden standaard blokkeerde (ITP, 2017). Firefox volgde in 2019 met verbeterde trackingbescherming. Chrome, het overblijfsel omdat de advertentieactiviteiten van Google ervan afhankelijk zijn, heeft gedeeltelijke beperkingen ingevoerd in de periode 2024-2026, waarbij volledige blokkering van cookies van derden gepland maar herhaaldelijk uitgesteld is. Vanaf eind 2025 blokkeert het merendeel van de browsersessies wereldwijd standaard cookies van derden.

De reclame-industrie heeft gereageerd met oplossingen (CNAME cloaking, tagging aan de serverzijde, FLoC en Topics API, browserfingerprinting), maar de eenvoudige cookie van derden als trackingmechanisme is grotendeels voorbij.

De vlagvelden die matter

  • Secure — de cookie wordt alleen via HTTPS verzonden. Verplicht voor elke sessiecookie. Een niet-beveiligde sessiecookie wordt in leesbare tekst verzonden op een vijandig netwerk en is triviaal te stelen.
  • HttpOnly — de cookie is niet leesbaar door JavaScript via document.cookie. Verdedigt tegen op XSS gebaseerde sessiediefstal.
  • SameSite — controleert wanneer de cookie wordt verzonden bij cross-site verzoeken:
    • Strict: alleen verzonden bij navigatie en verzoeken op dezelfde site. Het veiligst is dat sommige linkstromen tussen sites kunnen worden verbroken.
    • Lax: verzonden bij cross-site navigatie op het hoogste niveau (linkklikken), maar niet bij cross-site XHR's of subbronnen. Moderne standaard.
    • None: verzonden bij elk cross-site verzoek; vereist Veilig. Wordt gebruikt voor legitieme insluiting tussen sites (bijvoorbeeld een door CDN gehoste inlogwidget).
  • Domain — bepaalt welke subdomeinen de cookie ontvangen. Er wordt een cookie ingesteld met Domain=example.com verzonden naar www.example.com, api.example.com, etc.
  • Path: beperkt de cookie tot URL's onder een specifiek pad prefix.
  • Max-Age / Expires — wanneer de cookie verloopt. Sessiecookies (geen vervaldatum) worden gewist wanneer de browser sluit.

Cookies versus localStorage versus sessionStorage

Cookies worden met elk HTTP-verzoek naar de oorsprong verzonden, wat handig is voor identificatie aan de serverzijde, maar voegt overhead toe aan elk verzoek. localStorage en sessionStorage zijn alleen JavaScript: ze reizen niet met HTTP-verzoeken, zijn groter (normaal 5-10 MB) en blijven bestaan ​​(localStorage) of duren alleen voor de tabbladsessie (sessionStorage). Voor gegevens die de server niet nodig heeft, is localStorage efficiënter.

De cookie-toestemmingslaag

GDPR (Europa), CCPA (Californië), LGPD (Brazilië) en verschillende andere vereisen dat sites trackingcookies vrijgeven en toestemming verkrijgen. Het resultaat is de cookiebanner die je in 2026 op elke pagina ziet – meestal met de mededeling ‘Alles accepteren’, en soms met gedetailleerde bedieningselementen. Met het gestandaardiseerde GPC-signaal (Global Privacy Control) kunnen gebruikers zich programmatisch afmelden, erkend door de Californische wet en overgenomen door Firefox/DuckDuckGo/Brave. Het eren van GPC is nu juridisch afdwingbaar in Californië; andere rechtsgebieden volgen.

Beyond cookies: alternatieve tracking

Toen cookies gereguleerd werden, werden de trackers gediversifieerd: Evercookie propt ID's in meer dan 20 opslaglocaties, waaronder IndexedDB, Service Workers, ETags en HSTS. Vingerafdrukken bouwen een identificatie op uit honderd passieve signalen. Bij taggen aan de serverzijde wordt de tracker achter een first-party CNAME geplaatst, zodat deze op de site zelf lijkt. De cookie is misschien aan het verdwijnen als het primaire hulpmiddel, maar het doel – heridentificatie tussen sessies door – heeft een half dozijn vervangingen voortgebracht.

Veelgestelde vragen

Moet ik alle cookies blokkeren?
Als u alle cookies blokkeert, wordt elke site verbroken waarvoor inloggen vereist is. Blokkeer cookies van derden (standaard in moderne browsers) en gebruik "clear on browser close" voor first-party als u minimale persistentie wilt. De algemene blokbenadering is meestal te pijnlijk.
Heeft een VPN invloed op cookies?
Een VPN verandert uw netwerkidentiteit, niet uw browserstatus. Cookies die uw browser heeft opgeslagen voordat de VPN was ingeschakeld, blijven bestaan ​​en blijven u op die sites identificeren nadat de VPN verbinding heeft gemaakt. Om een ​​schone sessie te krijgen, combineer je de VPN met een nieuw browserprofiel of een privé-browservenster.
Wat is een sessiecookie versus een permanente cookie?
Voor een sessiecookie is geen Expires/Max-Age ingesteld en deze wordt gewist wanneer de browser sluit. Een permanente cookie heeft een expliciete vervaldatum en blijft tot die tijd bestaan. De meeste inlogsystemen gebruiken permanente cookies met een lange looptijd, zodat u niet bij elk bezoek hoeft in te loggen.
Kan een cookie een virus bevatten?
Nee. Cookies zijn slechts tekstreeksen; ze kunnen niet uitvoeren. Het risico is dat een cookie een sessie-ID kan bevatten, die een aanvaller die deze steelt, kan gebruiken om zich voor te doen als u. Dat is de reden waarom er Secure- en HttpOnly-vlaggen bestaan.
Zal de cookiebanner ooit verdwijnen?
Uiteindelijk zullen gestandaardiseerde opt-outsignalen (GPC) de banners per site vervangen. De huidige banner-overhead is deels een neveneffect van regelgeving die expliciete toestemming vereist, maar geen enkel technisch mechanisme definieert om deze uit te drukken. Signalen op browserniveau lossen dit op. De adoptie is aan de gang; de spandoeken zullen in de loop van jaren vervagen, niet van maanden.
HTTP-cookies uitgelegd: first-party, third-party, SameSite en de langzame dood van tracking