Cookie

Ein HTTP-Cookie, auch Browser-Cookie oder einfach Cookie genannt (/[wiki:Vorlage:IPA]/ englisch Plätzchen, Keks), bezeichnet Informationen, die ein Webserver zu einem Browser sendet, die dann der Browser wiederum bei Zugriffen auf denselben Webserver zurücksendet. Mit Cookies ist das zustandslose Hypertext Transfer Protocol um die Möglichkeit erweitert, Information zwischen Aufrufen zu speichern.

Funktionsweise

Cookies werden in den Header-Teilen von HTTP-Anfragen und HTTP-Antworten übertragen.

Man kann zwischen persistenten Cookies und Session-Cookies unterscheiden. Erstere werden dauerhaft gespeichert (beispielsweise auf der Festplatte), während letztere nur für die Länge einer Sitzung gespeichert werden.

Wenn der Webserver einer Website Cookies zu einem Browser sendet (HTTP-Antwort), werden sie lokal auf dem Endgerät gespeichert, auf Computern üblicherweise in einer Textdatei. Dort sucht der Browser bei jedem Aufruf einer Webseite nach Cookies, die von der selben Website stammen, und fügt diese Cookies dem Aufruf (HTTP-Anfrage) hinzu. Damit ist eine beständige Verbindung zwischen Browser und Server gewährleistet, der Server „erkennt den Browser wieder”. Ein Cookie kann beliebigen Text enthalten, seine Länge ist auf 4 KiB Zeichen begrenzt. Mit jeder übermittelten Datei, also z. B. auch mit Bilddateien, kann ein Server nur einen Cookie versenden, mit einer Anfrage des Browsers können gleichzeitig mehrere Cookies versandt werden. Dieses Konzept wurde ursprünglich von Netscape entwickelt und ist in RFC 2109 spezifiziert.

Die Lebensdauer des Cookies kann vom Webserver beschränkt worden sein. Nach Ablauf dieser löscht der Browser das Cookie. Bei einigen Browsern, wie zum Beispiel Mozilla, kann der Benutzer die Lebenszeit selbst ändern.

Verwendung

Eine typische Anwendung von Cookies ist das Speichern persönlicher Einstellungen auf Websites, vor allem in Foren. Damit ist es möglich, diese Website zu besuchen, ohne jedesmal die Einstellungen erneut vornehmen zu müssen. Auch Online-Shops verwenden Cookies, um virtuelle Einkaufskörbe zu ermöglichen. Der Kunde kann damit Artikel in den Einkaufskorb legen und sich weiter auf der Website umschauen, um danach die Artikel zusammen online zu kaufen. Cookies dienen auch der Sicherheit. Da man sich bei manchen Websites wie Wikipedia per Passwort einloggen kann, werden Cookies gesetzt, um genau diesen Nutzer eindeutig zu erkennen und damit nicht bei jedem Aufruf einer Unterseite das Passwort erneut eingegeben werden muss. Häufig werden Logininformationen über eine Session-ID (Zahlenfolge), die nur für eine [wiki:Session] gültig ist – in den Cookies gespeichert. Das ist sicherer und weniger aufwendig, als diese Informationen jeder URI hinzuzufügen und damit Unbefugten den Zugriff auf geschützte Inhalte zu erleichtern.

Gefahren

Die eindeutige Erkennung kann allerdings auch zu mißbräuchlichen Zwecken ausgenutzt werden. Cookies werden dabei z.B. dafür verwendet, Benutzerprofile über das Surfverhalten zu erstellen. Ein Online-Shop kann z. B. diese Daten mit dem Namen des Kunden verknüpfen, wenn man Kunde bei ihm ist, und zielgruppenorientierte Werbemails schicken. Ein Cookie kann jedoch nur Informationen enthalten, die der Website-Anbieter selbst an den Benutzer sendet – private Daten des Benutzers lassen sich damit nicht auslesen.

Marketingfirmen, die bei vielen Websites Werbebanner haben, können mit so genannten "serverfremden" Cookies sogar über einzelne Websites hinweg den Benutzer verfolgen.

Erlauben oder Sperren?

Ein Kompromiss zwischen den Vor- und Nachteilen von Cookies kann erzielt werden, indem man seinen Browser so konfiguriert, dass persistente Cookies nicht oder nur gegen Rückfrage zugelassen werden, was z. B. die Erstellung von Benutzerprofilen erschwert, und Session-Cookies automatisch zugelassen werden, z. B. für Webeinkäufe, Passwörter. Außerdem bieten die meisten Browser die Möglichkeit, Cookies selektiv für bestimmte Domänen zu erlauben bzw. zu sperren oder nach dem Surfen automatisch zu löschen, wie es automatisch bei Session-Cookies geschieht. Auch ist es möglich, serverfremde Cookies automatisch abzuweisen, über die ein Dritter, etwa ein Werbepartner der Internet-Seite, das eigene Verhalten über mehrere Server hinweg aufzeichnen könnte.

Aufbau

Jeder Cookie muss diese Felder enthalten:

name
Beliebiger Wert vom Server, welcher oft in ASCII Code dargestellt wird
version
Gibt die Cookie Management Spezifikation in einer Dezimalzahl an.

Weitere optionale Möglichkeiten:

expires
Ablaufdatum, Zeitpunkt der automatischen Löschung in [wiki:General Mean Time] für HTTP/1.0
max-age
Ablaufzeit in Sekunden für HTTP/1.1
domain
[wiki:Domain] oder Bestandteil des Domainnamens, für den der Cookie gilt
path
Gültigkeits-Pfad (Teil der Anfrage-[wiki:URI]), um die Gültigkeit des Cookies auf einen bestimmten Pfad zu beschränken
comment
Kommentar zur näheren Beschreibung des Cookies
secure
Empfehlung für einen, die Privatsphäre schützenden Umgang, ohne zugehörigen Wert, wenn der Inhalt des Cookies vom Browser über HTTPS und nicht über HTTP zurückgesandt werden soll.

Beispiel

Set-Cookie: letzteSuche="cookie aufbau"; expires=Tue, 29-Mar-2005 19:30:42 GMT; Max-Age=2592000; Path=/cgi/suche.py; Version="1";

Mit dieser HTTP-Headerzeile sendet der Webserver einen Cookie - erkenntlich am einleitenden Set-Cookie: - mit dem Namen letzteSuche und dem Wert cookie aufbau an den Browser. Der Cookie soll am 29. März 2005 oder in 30 Tagen (2592000 = 30*24*60*60 Sekunden) gelöscht werden und vom Browser nur mit Anfragen zurückgeschickt werden, die an /cgi/suche.py auf diesem Server gerichtet sind. Die entsprechende Headerzeile mit Cookie könnte dann lauten:

Cookie: letzteSuche="cookie aufbau"; $Path=/cgi/suche.py; $Version="1";

Limitierungen

für Browser vorgeschriebene Voraussetzungen:

Weblinks



Cookie
HRM.de - Das Netzwerk für Personalwesen. HR-Pedia - Der Wissenspool für das Human Resource Management. HR-Jobbörse