Toms Cookie-Backbuch

So werden Cookies gebacken
Die Cookie-Zutaten
Das Lagern von Cookies


So werden Cookies gebacken

Cookies werden duch einen einfachen Befehl definiert und können sowohl von einem Web-Dokument per JavaScript als auch von einem Server in einem CGI-Script gesetzt werden.

In meiner Cookie-Demo gebe ich Dir durch ein JavaScript zwei Kekse: einen Zähler, der die Anzahl der Besuche auf dieser Seite speichert, und das aktuelle Datum. Meine Kekse kannst Du Dir angucken und auch wieder löschen. Sieh Dir den Quelltext der Demo-Seite an, mehr ist an Cookies nicht dran. Die gleichen Befehle könnten in ähnlicher Form auch durch ein php- oder Perlscript serverseitig ausgeführt werden.


nach oben

Die Cookie-Zutaten

Dem Cookie-Befehl können aneinandergehängt 6 Parameter übergeben werden:
name, value, expires, path, domain und secure.
Dabei sind nur die ersten beiden zwingend notwendig, alle anderen erhalten ansonsten Standardwerte.
Die einzelnen Paramter haben folgende Bedeutung:

name = Name
Ein beliebig gewählter Name, unter der die Information im Cookie gespeichert werden soll.

value = Wert
Die eigentlich Information des Cookies.
Soll z.B. die Kundennummer 1234567 gespeichert werden, auf die im Dokument unter dem Namen ID zugegriffen wird, erhält name den Wert ID und value den Wert 1234567. Im Cookie stände dann ID=1234567.

expires = Verfallsdatum
Ein UNIX-codiertes Datum einschließlich Uhrzeit, an dem das Cookie ungültig, d.h. gelöscht werden soll. Gezählt werden die Millisekunden seit dem 1.1.1970. Datum und Uhrzeit beziehen sich auf GMT (Greenwich Mean Time), sind also weltweit einheitlich.
Wird vom Cookie-Versender kein Verfallsdatum angegeben, wird das aktuelle Datum verwendet. Das bedeutet, daß während der Sitzung auf die Information zugegriffen werden kann, das Cookie aber anschließend nicht auf die Festplatte geschrieben wird, da das Verfallsdatum bereits abgelaufen ist.

path = Pfad
Server-Pfad zum Dokument, das das Cookie setzt. Nur Dokumente, die in diesem Verzeichnis oder in einem Unterverzeichnis liegen, können das Cookie wieder auslesen. Damit das Cookie auch dann noch gelesen werden kann, wenn sich der Pfad zum Dokument ändert oder bei Spiegelung auf einen anderen Server, wird meist das Hauptverzeichnis angegeben. Standardwert ist der genaue Pfad zum Dokument.

domain = Domain
Die Internet-Domain, auf dem sich das Dokument befindet, das das Cookie gesetzt hat. Nur von dieser Domain aus kann das Cookie wieder gelesen werden. Da die Domain aus mehreren Servern bestehen kann, ist es möglich, den Zugriff auf einen bestimmten Server zu beschränken. Standardwert, wenn nicht anders angegeben, ist die gesamte Domain. Der Name wird automatisch erkannt und gesetzt.

secure = Sicherheitsstatus
Sicherheitsstatus ist true/false bzw. 1/0. Damit kann festgestgesetzt werden, ob das Cookie nur von Servern unter bestimmten Sicherheitsbedingungen gelesen werden darf.
Da diese Sicherheitsbedingungen nicht von allen Servern unterstützt werden, ist hier meist ein false angegeben, was auch der Standardwert ist, wenn dieser Parameter nicht gesetzt wird.



nach oben

Das Lagern von Cookies

Cookies sind auf der Festplatte als Textdateien gespeichert, die mit jedem Editor geöffnet und angesehen werden können. Netscape speichert alle in einer einzigen Datei, die sich im User-Verzeichnis (wie auch die BOOKMARK.HTM) befindet. Der Internet Explorer kopiert alle Cookies als eigenständige Dateien in das Verzeichnis \Windows\Cookies.

In Netscapes COOKIES.TXT sind die Cookies folgendermaßen gespeichert:


.netscape.com     TRUE   /  FALSE  946684799   NETSCAPE_ID  10010308,145f18cd

.microsoft.com    TRUE   /  FALSE  937422000   MC1  GUID=30853a5de5b611d088b608002bb77f65

www.gamesnet.net  FALSE  /  FALSE  1293753600  EGSOFT_ID  204.13.29.23-3703143152.27124388

Jede Zeile enthält ein Cookie, hier sind es also drei, die Felder sind durch TABs getrennt.
Die einzelnen Felder stehen in der Reihenfolge domain, flag, path, secure, expire, name, value.
flag ist false, wenn unter domain eine Einschränkung angegeben ist.

Der Internet Explorer speichert jedes Cookie in einer eigenen Datei. Sie erhält den Namen in der Form username@domainname.txt, wobei der Domainname ohne die Endung (.de, .com, ...) verwendet wird. Ein Cookie der Domain www.toms-bastelbude.de wird z.B. unter username@www_toms-bastelbude.txt gespeichert.

In Microsofts Cookie-Dateien ist die Reihenfolge der Felder name, value, domain + path, secure, expire, drei (Datums?)Felder, deren Inhalt ich noch nicht erschlossen habe, und flag. Jedes Feld steht in einer einzelnen Zeile, die Unix-gemäß mit #10 abgeschlossen wird. Einfache Editoren, einschließlich Windows Notepad, brauchen allerdings für einen Zeilenumbruch zusätzlich noch ein #13, sodaß hier das Cookie aus einer einzigen Zeile zu bestehen scheint.

Bei den meisten Browsern werden die Cookies eingelesen, wenn der Surfer den Server aufsucht, der das Cookie gesetzt hat und erst zurückgeschrieben, wenn die Session beendet wird, also der Server verlassen oder der Browser geschlossen wird. Dazwischen werden sie im Arbeitsspeicher gehalten. Nur Cookies, deren Verfallsdatum nicht abgelaufen ist, werden übernommen, abgelaufene Cookies werden gelöscht.

nach oben


Cookie Informationen Wenn Du mehr weißt als ich, bitte schreib mir I wanna go home