Was sind Cookies?
Webbrowser und Server kommunizieren über das HTTP-Protokoll, und HTTP ist ein zustandsloses Protokoll. Für eine kommerzielle Website müssen jedoch Sitzungsinformationen zwischen verschiedenen Seiten verwaltet werden. Beispielsweise endet eine Benutzerregistrierung nach dem Ausfüllen mehrerer Seiten. Aber wie pflegt man Sitzungsinformationen für alle Webbenutzer?
In vielen Fällen ist die Verwendung von Cookies die effektivste Möglichkeit, Informationen wie Präferenzen, Käufe, Provisionen und Anfragen für ein besseres Besuchserlebnis oder Website-Statistiken zu speichern und zu verfolgen.
Wie funktioniert es?
Der Server sendet einige Daten in Form eines Cookies an den Browser des Besuchers. Dieser Browser kann Cookies akzeptieren. Wenn ja, handelt es sich um einen Nur-Text-Datensatz, der für den Besucher auf der Festplatte gespeichert wird. Wenn nun ein Besucher eine andere Seite Ihrer Website erreicht, sendet der Browser dasselbe Cookie zum Abruf an den Server. Nach dem Abruf weiß/merkt sich der Server, was gerade gespeichert wurde.
Cookies haben Nur-Text-Datensätze mit 5 Feldern variabler Länge:
Cookies wurden ursprünglich für die Verwendung in der CGI-Programmierung entwickelt und Cookie-Daten werden automatisch zwischen Webbrowsern und Webservern übertragen, sodass CGI-Skripte auf dem Server auf dem Clientwert gespeicherte Cookies lesen und schreiben können.
JavaScript kann auch mit dem Cookie-Attribut des Dokumentobjekts arbeiten. JavaScript kann Cookies oder Cookies, die für die aktuelle Webseite gelten, lesen, erstellen, ändern und löschen.
Cookies speichern:
Der einfachste Weg, ein Cookie zu erstellen, besteht darin, dem document.cookie-Objekt einen Zeichenfolgenwert zuzuweisen, der wie folgt aussieht:
Grammatik
document.cookie = "key1=value1;key2=value2;expires=date";
Hier läuft die Attributoption ab. Wenn dieses Attribut mit einem gültigen Datum oder einer gültigen Uhrzeit versehen wird, läuft das Cookie zum angegebenen Datum oder zur angegebenen Uhrzeit ab und der Wert des Cookies ist dann nicht mehr zugänglich.
Hinweis: Cookie-Werte dürfen keine Semikolons, Kommas oder Leerzeichen enthalten. Aus diesem Grund kann es erforderlich sein, die Escape()-Funktion von JavaScript zu verwenden, um den gespeicherten Wert vor dem Cookie zu kodieren. Wenn Sie dies tun, müssen Sie beim Lesen des Cookie-Werts auch die entsprechende Funktion unescape() verwenden.
Cookies lesen:
Das Lesen von Cookies ist genauso einfach wie das Schreiben, da der Wert von document.cookieobject das Cookie ist. Wenn Sie also auf das Cookie zugreifen möchten, können Sie diese Zeichenfolge verwenden.
Die Zeichenfolge document.cookie wird durch ein Semikolon fortgesetzt, wobei „name“ der Name eines Cookies und „value“ eine Liste von Name=Wert-Paaren ist, die durch den Zeichenfolgewert getrennt sind.
Legen Sie das Ablaufdatum von Cookies fest:
Es ist möglich, die Lebensdauer eines Cookies über die aktuelle Browsersitzung hinaus zu verlängern, indem Sie im gespeicherten Cookie das Ablaufdatum und das Ablaufdatum festlegen. Dies kann durch Festlegen des Datums und der Uhrzeit des Ablaufattributs erfolgen.
Beispiel:
Das folgende Beispiel zeigt, wie man ein Cookie so einstellt, dass es nach einem Monat abläuft:
<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() + ";" alert("Setting Cookies : " + "name=" + cookievalue ); } //--> </script> </head> <body> <form name="formname" action=""> Enter name: <input type="text" name="customer"/> <input type="button" value="Set Cookie" onclick="WriteCookie()"/> </form> </body> </html>
Cookies löschen:
Manchmal, wenn Sie ein Cookie löschen möchten, was wird zurückgegeben, wenn Sie später versuchen, das Cookie zu lesen? Dazu müssen Sie lediglich das Ablaufdatum auf einen Zeitpunkt in der Vergangenheit festlegen.
Beispiel:
Das folgende Beispiel zeigt, wie Sie ein Cookie löschen, indem Sie das Ablaufdatum auf einen Monat festlegen:
<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() + ";" alert("Setting Cookies : " + "name=" + cookievalue ); } //--> </script> </head> <body> <form name="formname" action=""> Enter name: <input type="text" name="customer"/> <input type="button" value="Set Cookie" onclick="WriteCookie()"/> </form> </body> </html>
Hinweis: Ohne das Datum festzulegen, können Sie die Funktion setTime() verwenden, um den neuen Wert anzuzeigen.