Ein HTTP-Cookie, auch Browser-Cookie genannt, bezeichnet Informationen, die ein Webserver zu einem Webbrowser sendet oder die clientseitig durch JavaScript erzeugt werden. Der Client sendet die Informationen in der Regel bei späteren Zugriffen an den selben Webserver im Hypertext Transfer Protocol-Header an den Server. Cookies sind clientseitig persistente Daten.
HTTP-Cookies sind eine spezielle Form der allgemeinen Cookie. Sie ermöglichen das clientseitige Speichern von Information, die auch vom Server stammen können und die bei weiteren Aufrufen für den Benutzer transparent an den Server übertragen werden. Dadurch erleichtern Cookies die Benutzung von Webseiten, die auf Benutzereinstellungen reagieren oder den Aufbau von Sessions.
Cookies werden in den Header-Teilen von HTTP-Anfragen und -Antworten übertragen.
Wenn der Webserver mit der HTTP-Response Cookie-Informationen zu einem Browser sendet, werden sie von diesem lokal auf dem Endgerät gespeichert, üblicherweise in einer Textdatei. Bei jedem HTTP-Request sucht der Browser nach Cookies, die von der selben Website (und Verzeichnis) stammen, und schickt diese Cookie-Daten im Header des HTTP-Requests mit.
Ein Cookie kann beliebigen Text enthalten, seine Länge sollte jedoch ein bestimmtest Maß nicht überschreiten, um mit allen Browsern kompatibel zu bleiben. Mit jeder übermittelten Datei, also auch mit Bilddateien oder jedem anderen Dateityp, kann ein Server nur einen Cookie versenden, mit einer Anfrage des Browsers können gleichzeitig mehrere Cookies versandt werden.
Cookies werden ausschließlich vom Client verwaltet. Somit entscheidet der Client, ob z.B ein Cookie gespeichert wird oder die vom Webserver gewünschte eingeschränkte Lebensdauer des Cookies durch Löschung ausgeführt wird.
Gängige Browser erlauben dem Nutzer meist einschränkende Einstellungen zum Umgang des Client mit Cookies, z.B.:
Dazu erlauben einige Browser verwaltende Aktionen, wie:
Ob ein Cookie angenommen (clientseitig gespeichert) wurde, muss die serverseitige Anwendung in weiteren HTTP-Requests erkennen, da vom Client keine Rückmeldung erfolgt.
Der Server kann ein Cookie durch Überschreiben mit leeren Daten löschen.
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.
Mit modernen Browsern ist es auch möglich, Cookies automatisch beim Schließen des Browsers zu löschen. Damit werden Probleme mit Mehrbenutzersystemen weitgehend vermieden und die Überwachung des Benutzers durch Cookiees wird zumindest eingeschränkt.
--Riker93 17:35, 1. Sep 2006 (CEST)