HTTP-Cookie

Textinformation, die eine besuchte Website über den Browser im Rechner des Betrachters platziert
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 23. März 2005 um 14:28 Uhr durch Sinn (Diskussion | Beiträge) (typo). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Ein HTTP-Cookie, auch Browser-Cookie oder einfach Cookie genannt (Cookie: aus dem amerikanischen Englisch für Plätzchen, Keks), bezeichnet Informationen, die ein Webserver zu einem Browser sendet, um dem zustandslosen HTTP-Protokoll die Möglichkeit zu geben, 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 KB Zeichen begrenzt. Mit jeder übermittelten Datei, also z. B. auch mit Bilddateien, kann ein Server nur ein 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.

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 so genannte 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 eingeben werden muss. Häufig werden Logininformationen über eine Session-ID (Zahlenfolge), die nur für eine Session gültig ist – in den Cookies gespeichert. Das ist sicherer und weniger aufwändig, als diese Informationen jeder URI hinzuzufügen und damit Unbefugten den Zugriff auf geschützte Inhalte zu erleichtern.

Gefahren

Die eindeutige Erkennung kann allerdings von Firmen ausgenutzt werden. Cookies werden dabei dazu verwendet, um 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. Man sollte aber nie vergessen, dass ein Cookie keine Informationen beinhalten kann, die der Anbieter nicht zuvor erhalten hat.

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?

Einen 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 (erschwert z. B. die Erstellung von Benutzerprofilen) und Session-Cookies automatisch zugelassen (z. B. für Webeinkäufe, Passwörter) werden. 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 (dies geschieht bei sogenannten Session-Cookies grundsätzlich automatisch). Auch ist es möglich, dass serverfremde Cookies, über die ein dritter (etwa ein Werbepartner der Internet-Seite) das eigene Verhalten über mehrere Server hinweg aufzeichnen könnte, automatisch abgewiesen werden. In manchen Browsern, wie zum Beispiel Mozilla, können die Cookies jedoch auch auf eine maximale Lebenszeit beschränkt werden.

Aufbau

Beispiel

beispielcookieaufruf:

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

in diesem fall sendet ein Server einen cookie mit dem namen 'letzteSuche' und dem wert 'cookie aufbau' mittels 'Set-Cookie: ....' an einen Client. Dieser cookie soll am 29. maerz oder in 30 tagen (30*24*60*60 sekunden) geloescht werden, und gilt nur fuer anfragen auf diesem rechner die mit '/cgi/suche.py' anfangen.

Teile

jeder cookie hat einen namen und einen wert, weitere optionen sind:

expires - ablaufdatum (fuer automatische loeschung desselben) fuer das HTTP/1.0 in GMT
max-age - ablaufzeit (in sekunden) fuer das HTTP/1.1
path - pfad (teil der anfrage-URI) fuer welchen auf diesem server dieser cookie nur gueltig ist
comment - kommentar
domain - Domain(-teil) fuer welchen dieser cookie gilt
secure - empfehlung fuer einen privatsfaehre schuetzenden umgang (ohne zugehoerigen wert) ?obsolet?
version (benoetigt) - einfache zahl ?obsolet?

Limitierungen

für Browser vorgeschriebene Vorraussetzungen:

  • Cookies müssen mindestens 4096 Zeichen lang sein dürfen
  • es muessen mindestens 300 gespeichert werden können
  • und mindestens 20 für jeden Server

Siehe auch: Logfile-Analyse, Cookie, HTTP.

Vorlage:WikiReader Internet