1.Was ist ein Keks?
A: Cookies werden verwendet, um Sitzungsinformationen auf dem Kunden zu speichern.
2. Komponenten von Cookies?
① Name: Ein eindeutiger Name für einen Keks. Es wird empfohlen, fallempfindlich zu sein. Der Name des Keks muss URL codiert werden.
② Wert: Der im Cookie gespeicherte Stringwert. Der Wert muss URL-codiert werden.
③Domain: Für welche Domain ist Cookie gültig. Alle an diese Domain gesendeten Anfragen enthalten diese Cookie -Informationen. Dieser Wert kann Subdomain (Subdomain, wie www.wrox.com) oder nicht (Subdomain, wie .wrox.com, enthalten, das für alle Subdomains von Wrox.com gültig ist). Wenn nicht explizit eingestellt, wird diese Domäne von der Domäne betrachtet, in der das Cookie festgelegt wird.
④Path: Für diesen Pfad in der angegebenen Domäne sollte ein Cookie an den Server gesendet werden. Sie können beispielsweise angeben, dass Cookies nur unter http://www.wrox.com/books/ zugegriffen werden können. Auf der Seite http://www.wrox.com sendet keine Cookie -Informationen, selbst wenn die Anfragen aus derselben Domain stammen.
⑤expirationszeit: Zeitstempel angibt, wann der Keks gelöscht werden sollte. Standardmäßig werden alle Cookies am Ende der Browser -Sitzung gelöscht. Sie können jedoch auch die Löschzeit selbst festlegen. Dieser Wert ist ein Datum im GMT-Format (WDY, dd-mon-yyy HH: MM: SS GMT), der die genaue Zeit angibt, in der das Cookie gelöscht werden soll. Daher Kekse
Es kann weiterhin auf dem Maschine des Benutzers gespeichert werden, nachdem der Browser geschlossen wurde. Wenn das Ablaufdatum, das Sie festgelegt haben, ein früheres Mal ist, wird der Cookie sofort gelöscht.
⑥ Sicherheitsflag: Nach Angabe wird das Cookie nur bei Verwendung der SSL -Verbindung an den Server gesendet. Zum Beispiel können Cookie -Informationen nur an https://www.wrox.com gesendet werden, während Anfragen von http://www.wrox.com keine Cookies senden können.
3.. Listen Sie ein Beispiel für einen Keks auf?
Hier ist ein komplettes Cookie -Beispiel, das wir aufschlüsseln werden:
Set-Cookie: Name = Wert; läuft = Mon, 22-Jan-07 07:10:24 GMT; Domain = .wrox.com; Path =/; sicher
① Name: Name Zeichenfolge Darstellung
② Wert: Wert Zeichenfolge Darstellung
③expirationszeit: Mon, 22-Jan-07 07:10:24 GMT
④Domain -Name: .wrox.com
⑤Path: aktuelles Verzeichnis/
⑥ Sicherheitsschild: sicher
4. Wie man Kekse bedient?
var CookiEUTIL = {// cookie -set: function (name, value, abläuft, domäne, path, sicher) {var cookietext = ""; cookietext + = codoRicomponent (name) + "=" + codoRicomponent (value); if (abläuft Instanz von Datum) {cookietext + = "; expires =" + abläuft.togmtstring (); } if (path) {cookietext + = "; path =" + path; } if (domain) {cookietext + = "; Domain =" + Domain; } if (sicher) {cookietext += "; sicher"; } document.cookie = Cookietxt; }, // name = value; abläuft = expiration_time; Path = Domain_Path; Domain = Domain_name; Secure // Cookie Get: Funktion (Name) {var cookiename = encodeuricomponent (name) + "=", cookiestart = document.cookie.indexof (cookiename), cookievalue = ""; if (cookiestart> -1) {var cookieend = document.cookie.indexof (";", cookiestart); if (cookieend = -1) {cookieend = document.cookie.length; } cookievalue = decodeuricomponent (document.cookie.substring (cookiestart + cookiename.length, Cookieend)); } return Cookievalue; }. }}; // CookieUtil.set ("Name", "Zhang"); var name = cookieUtil.get ("name"); alarm (Name); // Zhang CookieUtil.unset ("Name"); Alert (CookieUtil.get ("Name")); // leer5. Kookiebeschränkungen
① Die Anzahl der gespeicherten Daten ist begrenzt
② Die im Cookie gespeicherten Informationen können nur von zugelassenen Empfängern zugegriffen werden, können jedoch nicht von anderen Domänen zugegriffen werden.
③Limitierte Sicherheit
6. Als Reaktion auf das Problem einer geringen Menge an Cookie-Datenspeicher haben wir das Konzept der Unterkoten vorgeschlagen. Das heißt, mehrere Datenstücke werden im Wert jedes Keks gespeichert, die durch "&" getrennt sind.
var subcookieUtil = { /** Setzen Sie einen vollständigen Cookie * Paramame: Zeigt den Namen des Cookies an, der benötigt wird Zeigt die Sicherheitsflagge des Cookies an, Sie können * z. **/ setAll: function (name, subcookies, abläuft, domäne, path, sicher) {var cookiettext = "", subname, cookieparts = []; cookietext + = codouricomponent (name) + "="; für (subname in subcookies) {cookieParts.push (cododeuricomponent (subname) + "=" + codeuricomponent (subcookies [subname])); } if (cookieparts.length> 0) {Cookietext += cookieParts.join ("&"); if (abläuft Instanz von Datum) {cookietext + = "; expires =" + abläuft.togmtstring (); } if (path) {cookietext + = "; path =" + path; } if (domain) {cookietext + = "; Domain =" + Domain; } if (sicher) {cookietext += "; sicher"; }} else {cookietext + = "; expires =" + Datum (0) .togmtstring (); } document.cookie = Cookietxt; }. In * Param Secure: Zeigt die Sicherheitsflagge des Cookies an, Sie können nicht ausfüllen * z. **/ set: function (name, subname, Wert, Ablauf, Domäne, Pfad, sicher) {var cookies = this.getall (Name) || {}; Cookies [Subname] = Wert; this.setAll (Name, Cookies, Ablauf, Domäne, Pfad, sicher); }, /** Lesen Sie einen vollständigen Cookie * Paramame: Zeigt den Namen des Cookies an, der erforderlich ist * Rückgabe: Ein Cookie -Objekt * zB: subcookieUtil.getall ("info"); **/ getAll: function (name) {var cookiename = encodeuricomponent (name) + "=", cookiestart = document.cookie.indexof (cookiename), cookievalue = "", i, len, subcookies, parts, result = {}; if (cookiestart> -1) {var cookieend = document.cookie.indexof (";", cookiestart); if (cookieend == -1) {cookieend = document.cookie.length; } cookievalue = decodeuricomponent (document.cookie.substring (cookiestart + cookiename.length, Cookieend)); if (cookievalue.length> 0) {subcookies = cookievalue.split ("&"); für (i = 0, len = subcookies.length; i <len; i ++) {part = subcookies [i] .Split ("="); Ergebnis [Decodeuricomponent (Teile [0])] = Decodeuricomponent (Teile [1]); } Rückgabeergebnis; }} return null; }, /** den Wert eines untergeordneten Cookies erhalten* Paramame: Repräsentiert den Namen des Cookies, erforderlich* Param Subname: Repräsentiert den Namen des untergeordneten Cookie* Return: Der Wert eines untergeordneten Cookies* zB: subcookieUtil.get ("Info", "Name"); **/ get: function (name, subname) {var cookies = this.getall (name); if (Cookies) {return Cookies [Subname]; } else {return null; }}. **/ unetall: function (name, domain, path, sicher) {this.setAll (name, "", Datum (0) .togmtstring (), Domäne, Pfad, sicher); }. SubcookieUtil.unset ("info", "Name"); **/ uneingestellter: Funktion (Name, Subname, Domäne, Pfad, sicher) {var cookies = this.getall (Name); if (Cookies) {Cookies löschen [Subname]; this.setAll (Name, Cookies, Null, Domäne, Pfad, sicher); }}}}; // Test: var zhang = {Name: "Zhang", Alter: 23, Höhe: "178cm", Gewicht: "66 kg"} // Ein komplettes Cookie subcookieUtil.setall ("Zhang", Zhang); // Erhalten Sie einen kompletten Cookie var zhang = subcookieUtil.getall ("Zhang"); Alarm (Zhang.weight); // 66 kg // Fügen Sie dem Zhang SubcookieUtil.set ("Zhang", "Sport", "Basketball") einen Kinderkeks hinzu; // subcookie alarm (subcookieUtil.get ("Zhang", "Sport")); // Basketball // Löschen Sie einen subcookie subcookieUtil.unset ("Zhang", "Age"); Alert (subcookieUtil.get ("Zhang", "Alter")); // undefined // Ein komplettes Cookie subcookieUtil.unsetall ("Zhang"); Alert (subcookieUtil.getall ("Zhang")); // Ein Fehler wurde gelöschtDas Obige dreht sich alles um diesen Artikel, ich hoffe, es wird für das Lernen aller hilfreich sein.