Antworten:
Das 4K-Limit, über das Sie gelesen haben, gilt für das gesamte Cookie, einschließlich Name, Wert, Ablaufdatum usw. Wenn Sie die meisten Browser unterstützen möchten, empfehle ich, den Namen unter 4000 Byte und die Gesamtgröße des Cookies unter 4093 Byte zu halten.
Eines ist zu beachten: Wenn der Name zu groß ist, können Sie das Cookie nicht löschen (zumindest in JavaScript). Ein Cookie wird gelöscht, indem es aktualisiert und auf Ablauf gesetzt wird. Wenn der Name zu groß ist, z. B. 4090 Byte, konnte ich kein Ablaufdatum festlegen. Ich habe das nur aus Interesse untersucht, nicht dass ich vorhabe, einen so großen Namen zu haben.
Um mehr darüber zu erfahren, finden Sie hier die " Browser-Cookie-Grenzwerte " für gängige Browser.
Wenn Sie zu diesem Thema die meisten Browser unterstützen möchten, sollten Sie 50 Cookies pro Domain und 4093 Bytes pro Domain nicht überschreiten . Das heißt, die Größe aller Cookies sollte 4093 Byte nicht überschreiten.
Dies bedeutet, dass Sie 1 Cookie mit 4093 Bytes oder 2 Cookies mit 2045 Bytes usw. haben können.
Früher habe ich aufgrund von IE7 4095 Bytes gesagt, jetzt kommt Mobile Safari mit 4096 Bytes mit einem Overhead von 3 Bytes pro Cookie, also maximal 4093 Bytes.
Tatsächlich gibt RFC 2965, das Dokument, das die Funktionsweise von Cookies definiert, an, dass der Schlüssel oder die Wertgröße eines Cookies nicht maximal lang sein darf , und empfiehlt Implementierungen, beliebig große Cookies zu unterstützen. Das Implementierungsmaximum jedes Browsers ist notwendigerweise unterschiedlich. Konsultieren Sie daher die Dokumentation des jeweiligen Browsers.
Siehe Abschnitt 5.3, "Implementierungsgrenzen", im RFC .
Nachdem ich einige Browser selbst getestet und Browser Shots verwendet habe, habe ich die folgende Liste zusammengestellt
Sie können auch Webspeicher verwenden, wenn die App-Spezifikationen dies zulassen (IE8 + wird unterstützt).
Es verfügt über 5 Millionen (die meisten Browser) oder 10 Millionen (IE) Speicher.
" Web Storage (Second Edition) " ist die API und " HTML5 Local Storage " ist ein schneller Start.
Ein Cookie-Schlüssel (zur Identifizierung einer Sitzung) und ein Cookie werden auf unterschiedliche Weise verwendet. Das Limit wäre also das gleiche. Laut Microsoft sind es 4096 Bytes.
Cookies sind normalerweise auf 4096 Byte begrenzt und Sie können nicht mehr als 20 Cookies pro Site speichern. Wenn Sie ein einzelnes Cookie mit Unterschlüsseln verwenden, verwenden Sie weniger der 20 Cookies, die Ihrer Website zugewiesen sind. Darüber hinaus benötigt ein einzelnes Cookie etwa 50 Zeichen für den Overhead (Ablaufinformationen usw.) sowie die Länge des darin gespeicherten Werts, die alle auf das 4096-Byte-Limit angerechnet werden. Wenn Sie fünf Unterschlüssel anstelle von fünf separaten Cookies speichern, sparen Sie den Overhead der separaten Cookies und können etwa 200 Byte speichern.
Diese Zeichenfolge ist keine vollständige direkte Antwort auf die ursprüngliche Frage, aber relevant für Neugierige, die schnell versuchen, ihre Planung für die Speicherung von Cookie-Informationen visuell zu verstehen, ohne einen komplexen Begrenzer-Algorithmus zu implementieren. Sie besteht aus 4096 ASCII-Zeichenbytes:
"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmn"