Home > Pfadfinder: Der Browser > Cookie

Cookie

Einleitung   Technik   Speichern   Probleme


Einleitung

Die Cookie-Technologie wurde von Netscape für den Netscape Navigator entwickelt. Mit Cookies ist es einem Server möglich, Information durch den Client speichern zu lassen. Der Server liefert dazu lediglich eine Variable und die Information, während der Client (und nur der Client!) die lokale Speicherung übernimmt.

Erzeugt werden können Cookies z.B. mit serverseitigen CGI-Programmen, die die Cookie-Information in eine HTTP-Zeile »Set-Cookie« einfügen. Cookiefähige Browser übernehmen dann diese Variable und den Variablenwert und speichern ihn lokal auf dem Rechner des Nutzers ab.

Ruft nun der Browser einen URL auf, der auch in einem Cookie gespeichert ist, fügt der Browser automatisch dem HTTP-Kopf der Anfrage eine Zeile »Cookie« an und überträgt die abgespeicherten Informationen an den Server. Ein dort ablaufendes CGI-Programm übernimmt dann diese Informationen und kann sie verarbeiten.

TOP

Technik

Die HTTP-Zeile »Set-Cookie« hat folgende Parameter, deren Parameterwerte durch ein Semikolon beendet werden müssen:

Set-Cookie:

Name=Wert; expires=Datum; path=Pfad; domain=Domain-Name; secure Name=Wert;

Die Angabe dieses Parameters ist zwingend erforderlich, da er die eigentliche Information, die vom Client gespeichert werden soll, enthält. Name bezeichnet den Namen der Variable und Wert den Wert der Variable. Erlaubt sind alle Zeichen außer Leerschritte, das Komma und das Semikolon.

expires=Datum;

Dieser (optionale) Parameter definiert ein Verfallsdatum des Cookies nach dem Schema Tag, TT-MM-JJJJ HH:MM:SS GMT. Nach Ablauf des Datums wird der Cookie aus der Cookiedatei des Browsers vom Browser gelöscht. Ist dieser Parameter nicht vorhanden, gilt der Cookie als kurzlebig und wird gelöscht, sobald der Nutzer die Browser-Sitzung beendet. Mit diesem Parameter kann ein Server übrigens auch vorhandene Cookies löschen, in dem er ein Datum aus der Vergangenheit überträgt.

domain=Domain-Name;

Dieser optionale Parameter kann dazu verwendet werden, die Absenderdomain zu verallgemeinern. Ist dieser Attribut nicht vorhanden, wird die genaue Domain des Hostes als Absender gespeichert, also z.B. »www.netplanet.org«. Mit dem Parameter domain«kann nun z.B. die Hostadresse auf die nächsthöhere Hierarchie gesetzt werden, also etwa »netplanet.org«. Auf diese Weise kann man den Cookie mehreren Hosts gleichzeitig zugänglich machen. Allerdings ist nur eine Hostadresse innerhalb der jeweiligen Domain gestattet. Wird der Parameter »Domain« weggelassen, so speichert ein Browser den Cookie mit der genauen Hostadresse als Absender.

path=Pfad;

Noch genauer spezifizieren kann man den Nutznießer des Cookies mit diesem optionalen Parameter, mit dem man eine Pfadangabe angeben kann. Das aufzurufende Programm muß genau in diesem Pfad sein, um einen abgespeicherten Cookie von einem Browser zu erhalten.

secure

Dieser, ebenfalls optionale, Parameter gibt lediglich an, ob der Cookie nur über eine SSL-gesicherte Verbindung übertragen werden darf (erkennbar am Übertragungsprotokoll »https://..«). Ist dieser Parameter nicht vorhanden, wird der Cookie auch bei einer nicht gesicherten Verbindung übertragen.

TOP

Speichern

Die Browserhersteller haben zur Speicherung von Cookies verschiedene Methoden und Verfahren. Der Netscape Navigator speichert beispielsweise Cookies in eine Textdatei »COOKIE.TXT«, die innerhalb des Programmordners des Browsers liegt. Der Microsoft Internet Explorer richtet andererseits im »WINDOWS«-Verzeichnis extra ein Verzeichnis »COOKIES« ein, in das jedes Cookie als eigenständige Datei gespeichert wird.

Allen Speichermethoden ist jedoch gemeinsam, daß erzeugte Cookie-Dateien folgenlos gelöscht werden können und eine Löschung keinesfalls den Browser beschädigt oder gar systeminstabilisierend wirkt.

Die meisten Browser lassen sich so konfigurieren, daß sie generell keine Cookies akzeptieren oder alternativ vor der Speicherung eines Cookies ein warnendes Dialogfeld anzeigen und es dem Nutzer per Schaltflächeneingabe überlassen, ob er gespeichert werden darf oder nicht. Moderne Browser bieten zudem die Möglichkeit, die Speicherung von Cookies insofern zu beschränken, daß nur Cookies an einen Server zurückgeschickt werden, die die Domain des ursprünglichen Absender-Hosts tragen.

Darüberhinaus hat Netscape schon in der Spezifikation vorgesorgt, daß Client mit Cookies nicht überlastet wird: Maximal 300 Cookies lassen sich gleichzeitig speichern. Außerdem dürfen von einer Ressource nur maximal 20 Cookies abgespeichert sein. Wird eine Zahl überschritten, werden jeweils die ältesten Cookies gelöscht. Die maximale Größe eines Cookies ist auf maximal 4 kByte begrenzt; überzählige Bytes werden abgeschnitten.

TOP

Probleme

Der fahle Beigeschmack an Cookies ist unübersehbar: Einem Serverbetreiber ist es durch geschickte Nutzung von Cookies möglich, nahezu unbemerkt ein Benutzungsprofil von einem Besucher zu erstellen und diese Informationen lokal bei ihm für zukünftige Besuche abzuspeichern.

Ebenfalls ein sehr bedenklicher Aspekt liegt darin, daß Cookies nicht verschlüsselt beim Nutzer abgespeichert werden. Viele Sites bieten z.B. die Möglichkeit, Login-Daten per Cookie abzuspeichern, um nicht bei jedem Aufruf diese Daten neu eingeben zu müssen. Diese Daten wären dann jedem zugänglich, der Zugriff auf Ihren Computer hat.

TOP