Cookies werden beispielsweise verwendet, um Sitzungsinformationen zwischen verschiedenen Seiten zu verwalten. So endet beispielsweise eine Benutzerregistrierung nach mehreren Seiten. Aber wie man die Sitzungsinformationen der Benutzer auf allen Webseiten verwaltet. In vielen Situationen ist die Verwendung von Cookies die effizienteste Methode, um Präferenzen, Einkäufe, Provisionen und andere Informationen zu speichern und zu verfolgen, die für ein besseres Besuchererlebnis oder Statistiken der Website erforderlich sind.
Das Verfahren der Cookies
Der Server sendet einige Daten in Form eines Cookies an den Browser des Besuchers. Der Browser kann das Cookie akzeptieren. Ist dies der Fall, wird es als Klartextdatensatz auf der Festplatte des Besuchers gespeichert. Wenn der Besucher nun auf eine andere Seite Ihrer Website gelangt, sendet der Browser dasselbe Cookie an den Server zum Abruf. Nach dem Abruf weiß/erinnert sich Ihr Server, was früher gespeichert wurde.
Cookies sind ein Klartext-Datensatz aus 5 Feldern mit variabler Länge:
-
Expires − Das Datum, an dem das Cookie abläuft. Wenn dieser Wert leer ist, verfällt das Cookie, wenn der Besucher den Browser beendet.
-
Domain − Der Domainname Ihrer Website.
-
Path − Der Pfad zum Verzeichnis oder zur Webseite, die das Cookie setzt. Dies kann leer sein, wenn Sie das Cookie aus einem beliebigen Verzeichnis oder einer beliebigen Seite abrufen möchten.
-
Secure − Wenn dieses Feld das Wort "sicher" enthält, kann das Cookie nur über einen sicheren Server abgerufen werden. Wenn dieses Feld leer ist, gibt es keine solche Einschränkung.
-
Name=Value − Cookies werden in Form von Schlüssel-Werte-Paaren gesetzt und abgerufen.
Cookies wurden ursprünglich für die CGI-Programmierung entwickelt. Die in einem Cookie enthaltenen Daten werden automatisch zwischen dem Webbrowser und dem Webserver übertragen, so dass CGI-Skripte auf dem Server Cookiewerte lesen und schreiben können, die auf dem Client gespeichert sind.
JavaScript kann Cookies auch über die Cookie-Eigenschaft des Document Objekts manipulieren.
Speichern von Cookies
Der einfachste Weg, ein Cookie zu erstellen, besteht darin, dem document.cookie-Objekt einen Zeichenkettenwert zuzuweisen, der so aussieht.
document.cookie = "key1 = value1;key2 = value2;expires = date";
Hier ist das expires-Attribut optional. Wenn Sie dieses Attribut mit einem gültigen Datum oder einer gültigen Uhrzeit versehen, verfällt das Cookie zu einem bestimmten Datum oder einer bestimmten Uhrzeit, und danach ist der Wert des Cookies nicht mehr zugänglich.
Hinweis - Cookie-Werte dürfen keine Semikolons, Kommas oder Leerzeichen enthalten. Aus diesem Grund können Sie die JavaScript escape() Funktion verwenden, um den Wert zu kodieren, bevor Sie ihn im Cookie speichern. In diesem Fall müssen Sie beim Lesen des Cookie-Wertes auch die entsprechende Funktion unescape() verwenden.
Cookies lesen
Ein Cookie kann so einfach gelesen werden wie das Schreiben eines solchen, da der Wert des document.cookie-Objekts das Cookie ist. So können Sie diese Zeichenkette verwenden, wann immer Sie auf das Cookie zugreifen möchten. Die Zeichenkette document.cookie führt eine Liste von name=value-Paaren, die durch Semikolons getrennt sind, wobei name der Name eines Cookies und value sein Zeichenkettenwert ist.
Sie können die split()-Funktion von strings verwenden, um eine Zeichenkette wie folgt in Schlüssel und Werte aufzuteilen:
<html>
<head>
<script type = "text/javascript">
<!--
function ReadCookie() {
var allcookies = document.cookie;
document.write ("All Cookies : " + allcookies );
// Get all the cookies pairs in an array
cookiearray = allcookies.split(';');
// Now take key value pair out of this array
for(var i=0; i<cookiearray.length; i++) {
name = cookiearray[i].split('=')[0];
value = cookiearray[i].split('=')[1];
document.write ("Key is : " + name + " and Value is : " + value);
}
}
//-->
</script>
</head>
<body>
<form name = "myform" action = "">
<p> click the following button and see the result:</p>
<input type = "button" value = "Get Cookie" onclick = "ReadCookie()"/>
</form>
</body>
</html>
Setzen von Verfallsdatum für Cookies
Sie können die Lebensdauer eines Cookies über die aktuelle Browsersitzung hinaus verlängern, indem Sie ein Ablaufdatum festlegen und das Ablaufdatum im Cookie speichern. Dies kann durch Setzen des Attributs "expires" auf ein Datum und eine Uhrzeit erreicht werden.
Dies ist ein Beispiel, wie man das Ablaufdatum eines Cookies um 1 Monat verlängern kann:
<html>
<head>
<script type = "text/javascript">
<!--
function WriteCookie() {
var now = new Date();
now.setMonth( now.getMonth() + 1 );
cookievalue = escape(document.myform.customer.value) + ";"
document.cookie = "name=" + cookievalue;
document.cookie = "expires=" + now.toUTCString() + ";"
document.write ("Setting Cookies : " + "name=" + cookievalue );
}
//-->
</script>
</head>
<body>
<form name = "myform" action = "">
Enter name: <input type = "text" name = "customer"/>
<input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/>
</form>
</body>
</html>
Löschen eines Cookies
Manchmal werden Sie ein Cookie löschen wollen, damit nachfolgende Versuche, das Cookie zu lesen, nichts zurückgeben. Dazu müssen Sie lediglich das Verfallsdatum auf eine Zeit in der Vergangenheit einstellen.
So löschen Sie ein Cookie, indem Sie sein Verfallsdatum auf einen Monat hinter dem aktuellen Datum setzen:
<html>
<head>
<script type = "text/javascript">
<!--
function WriteCookie() {
var now = new Date();
now.setMonth( now.getMonth() - 1 );
cookievalue = escape(document.myform.customer.value) + ";"
document.cookie = "name=" + cookievalue;
document.cookie = "expires=" + now.toUTCString() + ";"
document.write("Setting Cookies : " + "name=" + cookievalue );
}
//-->
</script>
</head>
<body>
<form name = "myform" action = "">
Enter name: <input type = "text" name = "customer"/>
<input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/>
</form>
</body>
</html>