15 Cookies
Kleinere Datenmengen können, mit Einverständnis des Benutzers, mithilfe von Cookies auf seiner Festplatte gespeichert werden.
Bei einem Cookie handelt es sich um eine Zeichenkette, die mithilfe eines Browsers auf der Festplatte des Benutzers gespeichert wird.
Jeder Browser verwaltet seine eigenen Cookies. Der Benutzer wiederum kann auf die Cookies mithilfe seines Browsers zugreifen und sie verwalten. Er kann z. B. einzelne oder alle Cookies löschen oder auch festlegen, ob und wie lange Cookies gespeichert werden sollen.
Sie können dem Benutzer Arbeit abnehmen, indem sie Daten speichern, die der Benutzer auf der Internetseite, die das Cookie erzeugt hat, oder auf Internetseiten derselben Domain häufig eingibt. Er kann sich dann z. B. die erneute Eingabe seiner Adresse bei einem Einkauf im Internet sparen, weil sie bereits seit einem vorherigen Einkauf gespeichert ist und angezeigt wird. Meist wird die Gültigkeit eines Cookies zeitlich begrenzt. Sie können beim Benutzer nur die Cookies lesen, die Sie von Ihrer Domain aus in seinem Browser gespeichert haben. Auf Cookies anderer Domains haben Sie keinen Zugriff.
Es soll an dieser Stelle auch nicht verschwiegen werden, dass Cookies bei einigen Benutzern einen schlechten Ruf haben. Dies liegt daran, dass Unternehmen versuchen, mithilfe von Cookies das Benutzerverhalten festzuhalten: Welche Internetseiten werden besucht, oder welche Produkte sind für den Benutzer besonders interessant?
Einige Browser (z. B. Chrome oder Opera) speichern Cookies nur, falls Sie von einem lokalen oder externen Webserver stammen. Andere Browser (z. B. Firefox und Edge) speichern auch Cookies, die von einem einfachen Aufruf der lokal auf der Festplatte gespeicherten Datei stammen. Im erstgenannten Fall müssten Sie also z. B. den lokalen Webserver des Pakets XAMPP nutzen, siehe Abschnitt A.1.
15.1 Cookies schreiben
Im folgenden Programm zeige ich, wie Sie Cookies beim Benutzer erzeugen können, sofern dieser das Speichern von Cookies zulässt.
...
<body>
<script>
document.cookie = "ErstesCookie=42";
var zeit = new Date();
zeit.setTime(zeit.getTime() + 24 * 60 * 60 * 1000);
document.cookie = "ZweitesCookie=43;expires=" + zeit.toUTCString();
document.cookie = "DrittesCookie=44;path=/";
document.cookie = "ViertesCookie=45;secure";
</script>
</body></html>
Listing 15.1 Datei »ck_schreiben.htm«
Eine Zeichenkette wird an die Eigenschaft cookie des document-Objekts zugewiesen. Dabei passiert noch mehr, u. a. wird das Cookie gespeichert, so dass es für die Verwaltung des Browsers zugänglich ist. Jedes Cookie besteht aus Name und Wert. Mithilfe des Programms werden vier Cookies angelegt:
-
Das Cookie ErstesCookie hat den Wert 42. Die Gültigkeit richtet sich nach den Einstellungen im Browser.
-
Das Cookie ZweitesCookie hat eine Gültigkeit von einem Tag. Es wird zunächst die aktuelle Zeit festgestellt. Anschließend werden 24 Stunden addiert. Die neue Zeitangabe wird mithilfe der Methode toUTCString() formatiert und an expires= angehängt. Einzelne Angaben werden durch Semikolon voneinander getrennt.
-
Falls allerdings im Browser eingestellt ist, dass Cookies am Ende der Sitzung gelöscht werden, z. B. gemeinsam mit der gesamten Chronik des Browsers, dann hat diese Einstellung Vorrang vor der Einstellung des Cookies.
-
Das Cookie DrittesCookie gilt nicht nur für den Pfad, in dem sich die aktuelle Datei ck_schreiben.htm befindet, sondern für die ganze Domain der Datei.
-
Das Cookie ViertesCookie gilt nur für verschlüsselte Verbindungen.
Das Programm erzeugt keine sichtbare Ausgabe.