Cookie ist eine Weiterleitung auf diesen Artikel. Weitere Bedeutungen sind unterCookie (Begriffsklärung) aufgeführt.
EinCookie ([ˈkʊki]; englisch für „Keks“) ist eineTextinformation, die imBrowser auf demComputer des Benutzers jeweils zu einer besuchtenWebsite gespeichert werden kann. Ein Cookie wird durch denWebserver erzeugt und über dasHypertext Transfer Protocol (HTTP) an den Browser gesendet. Der Browser speichert das Cookie und übermittelt es, solange es nicht gelöscht wird, bei jedem Seitenaufruf zurück an den Webserver. Ein Cookie kann durch die Website auch perJavaScript erzeugt und wieder ausgelesen werden.
Cookies dienen dazu,zustandsbehafteteWebanwendungen zu ermöglichen, um beispielsweise denLogin mitsamt den nutzerspezifischen Einstellungen einer Website zu speichern oder denWarenkorb bei einemOnline-Händler. Dies wird so umgesetzt, dass einSitzungsbezeichner im Cookie gespeichert wird, mit dem eine Website den Benutzer zu einer auf dem Server gespeichertenSitzung zuordnen kann. Ein weiterer Einsatzzweck ist dieNutzerverfolgung[1] zuWerbezwecken mit speziell präparierten Seiten. Die Verwendung von Cookies zur Analyse des Nutzungsverhaltens und für Werbezwecke erfordert die Einwilligung des Nutzers.[2]
Der BegriffCookie wird im Datenschutz auch als Synonym für Datenentnahme, Datenspeicherung, Datennutzung, Datenverwertung, Datenweitergabe wie auch Datenmissbrauch verwendet, unabhängig davon, ob dazu tatsächlich ein HTTP-Cookie verwendet wird oder andere Techniken eingesetzt werden.
Ein Cookie besteht aus einem Namen und einem Wert. Bei der Definition eines Cookies können bzw. müssen zusätzlich ein oder mehrere Attribute angegeben werden.
"Set-Cookie:" Name "=" Wert *( ";" Attribut)"Cookie:" Name "=" Wert *( ";" Name "=" Wert)
Name undWert sind Folgen von druckbaren US-ASCII-Zeichen, wobei einige Zeichen ausgeschlossen sind. DieSyntax vonName verwendet einen eingeschränkten Zeichensatz, wie er auch bei anderenHTTP-Kopfzeilen in RFC 2616 verwendet wird.[3] FürWert sindSemikolon,Komma,Leerraum-Zeichen undBackslash ausgeschlossen. Um beliebige Daten als Cookie-Wert zu speichern, kann eine Kodierung wieBase64 oder dieURL-Kodierung mit%xx verwendet werden.
DasHttpOnly-Attribut soll den Zugriff auf Cookies mittels JavaScript verhindern. Auf Cookies, welche das AttributHttpOnly besitzen, kann nicht per JavaScript zugegriffen werden. Dies stellt einen möglichen Schutz gegenüberCross-Site-Scripting dar, sofern der jeweils genutzte Browser dieses Attribut unterstützt.
Nach RFC 6265[4] soll ein Browser die folgenden Mindestgrößen unterstützen:
Ein Cookie soll mindestens 4096 Bytes enthalten können.
Es sollen pro Domain mindestens 50 Cookies gespeichert werden können.
Es sollen insgesamt mindestens 3000 Cookies gespeichert werden können.
Die Mindestgrößen müssen von allen beteiligten Browsern und Servern garantiert werden. Größere Cookies oder eine größere Cookieanzahl lässt die Spezifikation aber durchaus zu.
Es gibt zwei Möglichkeiten für die Übertragung, Zuweisung und Auswertung von Cookies durch eine Website:
Übertragung in den Kopfzeilen (demHeader) von Anfragen und Antworten viaHTTP. Cookies im Client entstehen, wenn bei dessen Zugriff auf einen Webserver neben anderen HTTP-Kopfzeilen in der Antwort des Servers zusätzlich eine Cookie-Zeile übertragen wird (sieheAufbau).
Außerdem kann ein Cookie lokal durchJavaScript oder weitere Skriptsprachen erzeugt werden. Das Skript befindet sich in der vom Server übermittelten Webseite.
Die lokalen Cookies derselbenDomain – also nicht andererWebsites – können ausgelesen, verwertet und geändert werden. Damit können beispielsweise durch JavaScript Informationen über die lokalen Benutzeraktivitäten eingearbeitet werden, die in der Sitzung ohne weiteren Serverkontakt angefallen waren. Mit dem nächsten Kontakt zur Website werden sie in den HTTP-Kopfzeilen auch dorthin übertragen.
Cookie-Informationen werden lokal im Browser gespeichert, üblicherweise in einer Cookie-Datenbank. Bei nachfolgenden weiteren Zugriffen auf den Webserver sucht der Client-Browser alle Cookies dieser Domain heraus, die zum Webserver und dem Verzeichnispfad des aktuellen Aufrufs passen. Diese Cookie-Daten werden im Header des HTTP-Zugriffs mit übertragen, sodass die Cookies nur an jenen Webserver zurückgehen dürfen, von dem sie einst auch stammten.
Ein Cookie kann beliebigen Text enthalten, kann also neben einer reinen Identifikation auch beliebige Einstellungen lokal speichern, jedoch sollte seine Länge 4 Kilobyte (4·1024 Byte) nicht überschreiten, um mit allen Browsern kompatibel zu bleiben. Die Cookies werden mit jeder übermittelten Datei übertragen, also auch mit Bilddateien oder jedem anderen Dateityp; dies gilt insbesondere für eingebettete Elemente wie Werbebanner, die von anderen Servern eingebunden werden als dem Ursprung einer angezeigten HTML-Datei. So kann eine einzelne Webseite zu mehreren Cookies führen, die von verschiedenen Servern kommen und an diese jeweils wieder zurückgeschickt werden.
Cookies werden ausschließlich vom Client verwaltet. Somit entscheidet der Client, ob beispielsweise ein Cookie gespeichert oder nach der vom Webserver gewünschten Lebensdauer wieder gelöscht wird. Allerdings können auch auf dem Server entsprechende Informationen gespeichert werden, um beispielsweiseStatistiken über die Zahl der Aufrufe von Webseiten zu erzeugen.
Szenario: Eine Webseite bietet eine Suchfunktion an, die sich an den zuletzt eingegebenen Suchbegriff erinnern kann, selbst wenn der Benutzer zwischenzeitlich den Browser beendet. Dieser Suchbegriff kann nicht auf dem Server gespeichert werden, da der Server dazu den Besucher eindeutig identifizieren müsste, und das geht mit reinem HTTP nicht. Deshalb soll der zuletzt eingegebene Suchbegriff vom Browser des Besuchers (in einem Cookie) gespeichert werden.
Wenn der Besucher die Suchfunktion zum ersten Mal aufruft (hier mit dem Suchbegriff „cookie aufbau“), schickt er folgende Anfrage an den Server:
GET /cgi/suche.py?q=cookie+aufbau HTTP/1.0
Der Server antwortet mit dem Suchergebnis und bittet den Browser mittels des „Set-Cookie“ Feldes, sich den letzten Suchbegriff zu merken:
(Normalerweise stehen alle Bestandteile des Cookies in einer einzigen Zeile. Zur besseren Lesbarkeit werden in diesem Codebeispiel jedoch die Attribute auf jeweils eines pro Zeile verteilt.)
Das Cookie hat die folgenden Bestandteile:
Nutzdaten (letzteSuche): Da die Nutzdaten nicht erlaubte Zeichen enthalten können (Leerzeichen in „cookie aufbau“), gibt der Server sie hier mitBase64 kodiert zurück.
Ablaufdatum (expires): Das Cookie wird nur in Anfragen mitgeschickt, die vor dem 29. März 2014 passieren.
Maximalalter (Max-Age): Das Cookie wird nur in den folgenden 30 Tagen mitgeschickt, später nicht mehr.
Teilbereich der Webseite (Path): Das Cookie wird nur an die Suchmaschine (/cgi/suche.py) geschickt, da alle anderen Teile der Webseite die Information nicht brauchen.
HTTP ist ein zustandsloses Protokoll, daher sind für den Webserver die Seitenaufrufe voneinander unabhängig. Eine Webanwendung, deren Interaktion mit dem Benutzer über mehrere Seitenaufrufe andauert, muss mit Tricks arbeiten, um den Teilnehmer über mehrere Zugriffe hinweg identifizieren zu können. Dazu kann in einem Cookie vom Server ein eindeutigerSitzungsbezeichner gespeichert werden, um genau diesen Client bei weiteren Aufrufen wiederzuerkennen. Aus Sicherheitsgründen wird beimElectronic Banking eher ein Einmal-Token pro Seitenaufruf eingesetzt.
Onlineshops können Cookies verwenden, um Waren in virtuellen Einkaufskörben zu sammeln. Der Kunde kann damit Artikel in den Einkaufskorb legen und sich weiter auf der Website umschauen, um danach die Artikel zusammen zu kaufen. Die Identifikation des Warenkorbs bzw. der Session des Benutzers wird im Cookie abgelegt, die Artikel-Kennungen werden auf dem Webserver diesem Warenkorb bzw. der Session des Benutzers zugeordnet. Erst bei der Bestellung werden diese Informationen serverseitig ausgewertet.
Damit beiWebanwendungen Benutzeraktionen und -eingaben, die für den Server bestimmt sind, bei Abbrüchen der Verbindung zum Server (zum Beispiel inMobilfunknetzen) nicht verlorengehen, können Cookies zur Zwischenspeicherung eingesetzt werden. Bei Wiederherstellung der Verbindung werden sie vom Server abgefragt. Die Webanwendung erkennt dabei die Reihenfolge, in der die Cookies erzeugt wurden, und markiert bereits verarbeitete Cookies oder löscht deren Inhalt. Weil bei dieser Verwendung unter Umständen viele Cookies erzeugt werden, die frühestens beim Schließen des Browsers gelöscht werden, der Speicherplatz des Browsers für Cookies aber beschränkt ist, muss die Webanwendung Vorkehrungen gegen einenCookie-Überlauf treffen.[5]
Die Möglichkeit der eindeutigen Erkennung kann missbraucht werden. Cookies werden unter anderem dafür verwendet, Benutzerprofile über das Surfverhalten eines Benutzers zu erstellen. Zum Beispiel kann ein Online-Shop diese Daten mit dem Namen des Kunden verknüpfen undzielgruppenorientierte Werbemails schicken.
Jedoch kann der Online-Shop nur das Surfverhalten innerhalb seiner eigenen Webseite verfolgen. Um Informationen über das Surfverhalten seiner Kunden zu erhalten, muss sich der Online-Shop eines Dritten, eines Tracking-Anbieters, bedienen. Der Tracking-Anbieter bietet dem Online-Shop wie auch anderen Online-Shops Tracking-Komponenten an, die diese in ihre Webseiten integrieren. Das sind Skripte, verlinkte Skripte oder verlinkte Komponenten (Webseiten, Bilder, Banner,Zählpixel, Schriften), die mit dem Aufrufen der Online-Shops mitgeladen werden und Serveranfragen an den Tracking-Anbieter generieren, die wiederum Cookies mit den erhaltenen Informationen im Browser setzen. Diese durch Dritte erstellten Cookies nennt manThird-Party-Cookies (englisch für Cookies von Dritten). Haben diese Cookies den Zweck des Trackings, werden diese auch als „tracking cookies“ (englisch für Verfolgen) bezeichnet. Der Tracking-Anbieter registriert die Besuche der mit ihm verbundenen Online-Shops und kann diese Besuche somit den einzelnen Benutzern zuordnen. Stellt der Tracking-Anbieter diese Informationen dem Online-Shop zur Verfügung, kann dieser auf die Interessen des Besuchers schließen und seinen Online-Shop entsprechend anpassen („personalisieren“).
Es gibt auch seriöse Drittanbieter-Dienste, die technisch bedingt Tracking-Informationen mitsammeln. Für das erfolgreiche Tracking sind Drittanbietercookies hilfreich, aber nicht zwingend erforderlich. Die durch andere Identitätsermittlungsverfahren gesammelten Identitätsinformationen, wie zum Beispiel durchFingerprinting, benötigen keine Cookies. Noch perfider, die zu übertragenden Informationen werden per Parameter mit den verlinkten Komponenten übertragen. Gemeinsam ist aber allen Tracking-Techniken das Einbinden von Tracking-Komponenten in den Code der Webseite. Ein Abschalten der Cookies im Browser unterbindet also das Tracking nicht zwangsläufig, es werden dann nur andere Techniken eingesetzt. Der wirkungsvollste Schutz gegen Tracking ist es, nur auf Webseiten zuzugreifen, die keine Tracking-Techniken einsetzen.
Es ist nicht ungewöhnlich, dass populäre Webseiten mehrere Datensammler einbinden. Eine Studie derUniversität Berkeley hat 2011 beim Surfen auf den TOP100 Webseiten 5675 Cookies gefunden (ohne Logins oder Bestellungen). Davon wurden 4914 Cookies von Dritten gesetzt, also nicht von der aufgerufenen Webseite. Die Daten wurden an mehr als 600 Server übermittelt. Spitzenreiter unter den Datensammlern ist Google. 97 % der populären Webseiten setzen Google-Cookies.[6]
Immer mehr Tracking Dienste gehen dazu über, die Cookies im First-Party Context zu setzen, da Cookies von Drittseiten recht einfach blockiert werden können.
Eineempirische Studie derUniversität Leuven von 2014[7] zeigte, dass damals bereits 44 Tracking Dienste mehr als 40 % des Surfverhaltens verfolgen konnten, auch wenn man Cookies für Drittseiten blockiert und nur First-Party Cookies erlaubt.
Ein Beispiel ist der Trackingdienst WebTrekk, der sich auf Webseiten wie heise.de, zeit.de oder zalando.de mit DNS-Aliases als Subdomain der überwachten Webseite First-Party Status erschleicht, um seine Tracking-Cookies zu setzen (2013).
Google kombiniert seit 2017 den Dienst Analytics mit dem AdWords Tracking. FürGoogle Analytics bindet der Webmaster Trackingcode direkt auf der Webseite ein, der damit First-Party Status erhält und auch die Cookies für das AdWord Tracking setzt.
Microsofts folgte im Januar 2018 und hat eine Lösung umgesetzt, die das Cookie mit der Microsoft Click ID für das Conversation Tracking im First-Party Context setzt. Die Microsoft Tracking ID wird als URL-Parameter übertragen und dann mit Javascript in ein Cookie geschrieben.
Facebook folgte den Beispielen von Google und Microsoft im Herbst 2018, nachdem Mozilla angekündigt hat, nach dem Vorbild von Safari das Tracking via Third-Party Cookies in Firefox zu erschweren. Wie bei Microsoft wird die Tracking ID in einem URL-Parameter übertragen und dann mit Javascript in ein First-Party Cookie geschrieben.
Die Tracking-Cookies werden auch von derNSA undGCHQ im Rahmen der globalen Überwachung genutzt. Die Geheimdienste beobachten den Datenstrom im Internet und identifizieren Surfer anhand langlebiger Tracking-Cookies. Zielpersonen werden anhand dieser Cookies verfolgt und bei Bedarf mit Foxit Acid gezielt angegriffen, wenn die Identifikation über zwei Wochen stabil möglich ist.[1]
In Umgebungen, in denen sich mehrere Nutzer denselben Rechner teilen, etwa in Schulen oder Internet-Cafés, besteht die Gefahr, dass ein noch gültiger Sitzungs-Cookie vom nächsten Nutzer des Rechners verwendet wird. Um zu verhindern, dass eine fremde Person die eigene Sitzung fortsetzt, sollte man grundsätzlich vor dem Beenden des Browsers alle Cookies löschen oder eine entsprechende Browser-Einstellung nutzen.[8][9]
Im Mai 2020 berichtete dieSüddeutsche Zeitung über eine Entscheidung des deutschenBundesgerichtshofs, dass Nutzer ihre Einwilligung zu Cookies aktiv geben müssen. Damit seien viele aktuelle Cookie-Banner in Deutschland unzulässig. Die BGH-Richter folgten in ihrer Entscheidung damit weitgehend der Argumentation eines Urteils desEuropäischen Gerichtshofs (EuGH) vom Oktober 2019. Dieser hatte geurteilt, dass vorausgefüllte Cookie-Banner nicht mit europäischem Recht vereinbar seien. Viele deutsche Internetseiten hatten sich bislang auf das deutscheTelemediengesetz (TMG) berufen, nach dem Nutzer dem Cookie-Tracking aktiv widersprechen mussten.[10]
Gängige Browser erlauben dem Nutzer, den Umgang mit Cookies mehr oder weniger festzulegen, z. B.:
Keine Cookies annehmen, mit der Möglichkeit eineWhitelist für Ausnahmen anzulegen.
Cookies des Servers der aufgerufenen Seite annehmen, mit der Möglichkeit eineBlacklist für Ausnahmen anzulegen.
Cookies von Drittservern wie z. B. bei Werbebannern:
Hier kann zwischenImmer erlauben,Nur von besuchten Drittanbietern oderNie erlauben gewählt werden.
Benutzer bei jedem Cookie fragen:
Hier kann dann meist zwischenerlauben (bleibt),für diese Sitzung erlauben (wird immer angenommen, aber nach dem Schließen des Browsers gelöscht) undablehnen (nicht akzeptieren) gewählt werden, wobei die gewählte Option gespeichert wird.
Cookies behalten:
Hier kann gewählt werden zwischenbis sie nicht mehr gültig sind oderbis der Browser geschlossen wird („Sitzungs-Cookie“).
Zusätzlich erlauben die Browser verwaltende Aktionen während einer Sitzung wie:
Daten im Cookie ansehen.
Einzelne oder alle Cookies löschen.
Inhalte von Cookies verändern, leeren oder löschen.
Ob ein Cookie angenommen oder abgelehnt wurde, kann die Server-Anwendung nur mit weiteren HTTP-Anfragen erkennen, da die Speicherung von Cookies vom Client nicht zurückgemeldet wird.
Angesichts der Vor- und Nachteile von Cookies empfiehlt es sich, seinen Browser so zu konfigurieren, dasspersistente Cookies nicht (oder nur gegen Rückfrage) zugelassen werden (was etwa die Erstellung von Benutzerprofilen erschwert) und nur Sitzungs-Cookies automatisch zugelassen werden (beispielsweise für Web-Einkäufe oder Passwörter). Außerdem bieten die meisten Browser die Möglichkeit, Cookies selektiv für bestimmte Domains zu erlauben bzw. zu sperren oder nach dem Surfen automatisch zu löschen (wie es automatisch bei Sitzungs-Cookies geschieht). Serverfremde Cookies (durch die ein Dritter, etwa ein Werbepartner der Internet-Seite, das eigene Verhalten über mehrere Server hinweg aufzeichnen könnte) kann man automatisch abweisen lassen.
Webbrowser bieten oft die Möglichkeit, Funktionen überBrowser-Erweiterungen nachzurüsten. So ist es etwa beiFirefox mit einer bestimmten Erweiterung möglich, per Klick auf eine Schaltfläche Webseiten zu erlauben, Cookies zu speichern[11][12] bzw. sogar selbst den Inhalt der Cookies zu manipulieren.[13][14] Damit lassen sich Cookies generell deaktivieren sowie ausnahmsweise erlauben, falls die Website ohne Cookies nicht richtig funktioniert oder man sich bei einemOnlinedienst anmelden möchte. Andere Erweiterungen bieten einen Kompromiss zwischen der Browser-Option, alle Cookies beim Beenden des Browsers zu löschen bzw. sie nicht zu löschen, indem nur Cookies von bestimmten Internet-Domains perWhitelist behalten, alle anderen aber beim Schließen eines Browser-Tabs oder -Fensters bzw. beim kompletten Beenden des Webbrowsers gelöscht werden. So kann einerseits ungewünschte Verfolgung, andererseits aber das Verlorengehen von Informationen, welche dauerhaft gespeichert werden sollen, verhindert werden.
Das Konzept wurde ursprünglich vonNetscape Communications entwickelt und im 1994 veröffentlichtenNetscape Navigator implementiert. Netscape veröffentlichte eine vorläufige Spezifikation auf ihrer Website. 1995 begann dieIETF die Arbeit an einer Spezifikation, die alsRFCstandardisiert werden sollte. 1997 wurde die Spezifikation als RFC 2109[15] veröffentlicht; sie unterscheidet sich in einigen Details von der Netscape-Spezifikation. Die neue Spezifikation sollte sich inkrementell verbreiten, da der Netscape Navigator zu den Neuerungenaufwärtskompatibel war. Als bekannt wurde, dass die Cookie-Implementierung desInternet Explorers zur neuen Spezifikation inkompatibel war, begann die Arbeit an einer neuen Version. Diese wurde im Jahr 2000 als RFC 2965[16] veröffentlicht und verwendet neue HTTP-Kopfzeilen wie „Set-Cookie2“, um Inkompatibilitäten mit bestehenden Implementierungen zu vermeiden.[17]
Während die IETF RFC 2109[15] „obsolete“ (veraltet) einstufte, fand RFC 2965[16] keine durchgehende Verbreitung.Opera unterstützte zusätzlich zum alten Format auch „Set-Cookie2“,Mozilla Firefox jedoch nicht.[18] Im Jahr 2011 ersetzte RFC 6265[4] die beiden bisherigen RFCs. In RFC 6265 wurde die gängigste Funktionsweise spezifiziert und „Set-Cookie2“ als veraltet gekennzeichnet. Zusätzlich wurde das „HttpOnly“-Attribut spezifiziert, das im Jahr 2002 von Microsoft im Internet Explorer 6 eingeführt und von einigen Webbrowsern übernommen wurde.[19]
"Set-Cookie:" Name "=" Wert *(";" Attribut)"Cookie:" Name "=" Wert *(";" Name "=" Wert)
Name=Wert ist eine Folge von druckbaren US-ASCII-Zeichen ohneSemikolon,Komma undLeerraum-Zeichen. Falls eines dieser Zeichen in Name oder Wert vorkommen soll, muss es mit derURL-Kodierung%xx kodiert werden.
Folgende Attribute sind in der Spezifikation von Netscape definiert:[20]
EXPIRES=dateValue (optional)
Verfallsdatum des Cookies im FormatWdy,DD-Mon-YYHH:MM:SS GMT.
Wenn kein Verfallsdatum angegeben wird, wird das Cookie beim Schließen des Browser gelöscht.
DOMAIN=domainName (optional)
Domainname, um die Gültigkeit des Cookies auf einen bestimmten Domainnamen zu beschränken. Hierbei muss der angegebene Domainname nur ein Suffix des Domainnamens sein, das heißt ein fürDOMAIN=example.com bestimmtes Cookie ist gültig fürexample.com als auch darunterliegende Domains wiefoo.example.com oderbar.quux.example.com. Falls dieses Attribut nicht angegeben wird, wird der aktuelle Domainname verwendet.
PATH=pathName (optional)
Pfadpräfix, um die Gültigkeit des Cookies auf einen bestimmten Pfad oder Pfadpräfix zu beschränken. Falls dieses Attribut nicht angegeben wird, wird der aktuelle Pfad verwendet.
SECURE (optional)
Cookie darf nur über eine sichere Verbindung (sprich HTTPS) an den Server gesendet werden.
Der Unterschied der Spezifikation von RFC 2109[15] zu der von Netscape besteht insbesondere darin, dass alsWert nun auch Semikola, Kommata und Leerraum-Zeichen enthalten sein dürfen, die dann aber in Anführungszeichen gefasst werden müssen.Name darf aber nicht mehr mit einem$ beginnen, da diese für die Kennzeichnung von Attributen von Cookies in HTTP-Anfragen verwendet werden.
"Set-Cookie:" Name "=" Wert *(";" Attribut)"Cookie:" "$Version" "=" value 1*((";" | ",") Cookie)
Cookie ist hierbei ein Cookie, das neben dem Name-Wert-Paar auch noch die inSet-Cookie angegebenen und durch ein Semikolon voneinander getrennten Wertepaare fürPath undDomain enthalten kann:
Name "="Wert [";" "Path="Pfad] [";" "Domain="Domain]
Zusätzlich wurde dasExpire-Attribut durch dasMax-Age-Attribut ersetzt, das im Gegensatz zumExpire-Attributwert statt eines fixen Zeitpunkts die Gültigkeitsdauer nun in Sekunden angibt. Die Semantik vonDomain wurde erweitert. Neu hinzugekommen sind die AttributeComment undVersion.
"Comment" "="value (optional)
Kommentar zur näheren Beschreibung des Cookies
"Domain" "="value (optional)
Domain oder Bestandteil des Domainnamens, für den das Cookie gilt. Falls diese Attribut nicht angegeben wird, wird der aktuelle Domainname verwendet. Falls diese Attribut jedoch angegeben wird, muss der Wert mit einem Punkt beginnen; falls nicht, wird der Punkt vom Client hinzugefügt.
"Max-Age" "="value (optional)
Ablaufzeit in Sekunden – 0 für sofortige Löschung. Der Client darf das Cookie auch nach dieser Zeit benutzen, der Server kann sich also nicht darauf verlassen, dass das Cookie nach dieser Ablaufzeit gelöscht wird.
"Path" "="value (optional)
wie in Netscapes Spezifikation
"Secure" (optional)
wie in Netscapes Spezifikation
"Version" "=" 1*DIGIT (notwendig)
Gibt die Cookie-Management-Spezifikation in einer Dezimalzahl an (immer 1 in dieser Spezifikation)
Cookies nach RFC 2965[16] unterscheiden sich von denen nach Netscapes Spezifikation und nach RFC 2109[15] insbesondere dadurch, dass das Header-FeldSet-Cookie2 stattSet-Cookie heißt.
"Set-Cookie2:" Name "=" Wert *(";" Attribute)"Cookie:" "$Version" "=" value 1*((";" | ",") Cookie)
Daneben gibt es auch noch einige zusätzliche Attribute:
Beschränkung des Ports auf den aktuell verwendeten oder auf eine Liste von Ports
"Secure" (optional)
wie in Netscapes Spezifikation
"Version" "=" 1*DIGIT (notwendig)
Gibt die Cookie-Management-Spezifikation in einer Dezimalzahl an (immer 1 in dieser Spezifikation)
Folgendes Beispiel zeigt eine Serverantwort nach RFC 2965.[16] Der Server antwortet mit dem Suchergebnis und bittet den Browser mittels des „Set-Cookie2“ Feldes, sich den letzten Suchbegriff zu merken:
HTTP/1.0 200 OK Set-Cookie2: letzteSuche="cookie aufbau"; Max-Age=2592000; Path=/cgi/suche.py; Version="1"; Port = 101; CommentURL = "http://example.org/docs/cookies/letzteSuche"
VonAnwendungsprogrammen oder Teilen oder Erweiterungen desBetriebssystems eines Computers, die einen Dienst zur Verfügung stellen, kann ein Cookie zum Beispiel beim Start des Programmes „gesetzt“ werden. Hierzu ist normalerweise keine direkte Zustimmung des Anwenders notwendig. Die gesetzten Cookies können später vom Nutzer über den Browser oder das Betriebssystem gefunden und wieder gelöscht werden. Sicherheitsexperten raten zu einem bewussten Umgang mit Cookies. Dazu gehört, dass man sich beimSurfen bewusst ist, welche Cookies eine besuchte Seite setzen möchte. Nur die wenigsten Webseiten schreiben Cookies zwingend vor (wie etwa die Seite zum Einloggen in Wikipedia). Meistens werden Cookies willkürlich gesetzt, um das Surfverhalten zu protokollieren. Dies zu unterbinden, ist lästig, sorgt aber fürInformationelle Selbstbestimmung undDatenschutz. Nicht selten versucht eine einzige kommerzielle Webseite, ein Dutzend und mehr Cookies zu setzen. Um das zu verhindern, muss man in den Browser-Einstellungen das automatische Akzeptieren von Cookies deaktivieren.
Der Wert des Cookies enthält dabei typischerweise eineSpeicheradresse, über dieFunktionen des Dienstes zugänglich sind. Datenbanken dieses Typs werden auchCookie Jar genannt.Webbrowser stellen in der Regel eineCookie-Datenbank zur Verfügung, welche auchCookie Cache genannt wird. In dieser Datenbank kann derWebserver einer besuchten Webseite Informationen in Form von HTTP-Cookies hinterlegen und bei einem Wiederbesuch der Seite auslesen.
Google-Cookies und ihre „PREFID“ können den Browser eindeutig identifizieren. Im Zuge der Enthüllungen vonEdward Snowden wurde bekannt, dass diese von derNSA missbraucht werden, um zielgerichtet Spionagesoftware auf einzelnen Rechnern zu platzieren und dieseautomatisiert zu überwachen und „per Fernsteuerung auszubeuten“.[21]
Seit dem 19. Dezember 2009 gilt die als „Cookie-Richtlinie“ bezeichnete Richtlinie 2009/136/EG.[22] Darin wird eine Einwilligung des Webseitenbenutzers in die Nutzung seiner personengebundenen Daten durch den Websitebetreiber verlangt. Die EU-Länder haben auf diese Richtlinie aber unterschiedlich reagiert.[23]
Der Bundestag beschäftigte sich mit dem Thema.[24] Der von der Opposition unterstützte Gesetzesentwurf der SPD zur Änderung des Telemediengesetzes (17/8814) wurde am 18. Oktober 2012 abgelehnt.[25]
2012 folgten auch detaillierte Empfehlungen der sogenanntenArtikel-29-Gruppe[26] 2014 herrschte weiterhin „Unsicherheit in Deutschland“ zur Umsetzung während „in Spanien die Aufsichtsbehörden bereits Bußgeldbescheide verschicken“.[27] Fachanwälte empfehlen trotz der unübersichtlichen Rechtslage 2014 bereits eine ausdrückliche Zustimmung (Opt-in) in Form eines Popups für jeden Benutzer einer Webseite.[28][29][30]
In Österreich erfolgte die Umsetzung der Richtlinie in § 96 Abs. 3 Telekommunikationsgesetz (TKG).[31]
Mit der im Mai 2018 in Kraft getretenenDatenschutz-Grundverordnung (DSGVO) sollte ursprünglich auch die sogenannte e-Privacy-Verordnung, deren Entwurf die EU bereits am 10. Januar 2017 offiziell vorgestellt hat, rechtskräftig werden. Sie stellt speziell im Anwendungsbereich von Cookies eine detaillierte Ergänzung der DSGVO dar. Derzeit durchläuft der Entwurf der e-Privacy-Verordnung das europäische Parlament (Stand September 2018) und soll frühestens im Mai 2019 zu geltendem Recht werden. Damit würde sie die EU-Cookie-Richtlinie ersetzen und neue Regelungen bezüglich der Verwendung schaffen.[32]
Am 1. Oktober 2019 entschied derEuropäische Gerichtshof, dass das Setzen und Abrufen von Cookies durch Internetseiten eine aktive Einwilligung des Besuchers der Webseite benötigt.[33]
Ursprüngliche Spezifikation:Persistent Client State HTTP Cookies. Netscape Communications, archiviert vom Original (nicht mehr online verfügbar) am 27. Oktober 1996; abgerufen am 6. April 2014.
↑abKarsten Neß:Cookies. Privacy Handbuch; abgerufen am 24. Dezember 2018
↑Ina Friesen:Cookies and Consent – Der Einsatz von Consent-Management-Plattformen im Lichte der aktuellen Rechtsprechung. In:LRZ 2022.Rn. 272 ff. (lrz.legal [abgerufen am 24. Januar 2023]).
↑RFC:6265 Abschnitt 4.1.1 (englisch). Verweist auf die Spezifikation vontoken in:RFC:2616 –Hypertext Transfer Protocol – HTTP/1.1. Juni 1999, Abschnitt 2.2 (englisch).