Réponses:
La limite de 4K que vous lisez concerne le cookie entier, y compris le nom, la valeur, la date d'expiration, etc. Si vous souhaitez prendre en charge la plupart des navigateurs, je suggère de garder le nom sous 4000 octets et la taille globale du cookie sous 4093 octets.
Une chose à laquelle faire attention: si le nom est trop gros, vous ne pouvez pas supprimer le cookie (au moins en JavaScript). Un cookie est supprimé en le mettant à jour et en le définissant pour expirer. Si le nom est trop gros, disons 4090 octets, j'ai trouvé que je ne pouvais pas définir de date d'expiration. Je n'ai étudié cela que par intérêt, pas que je prévois d'avoir un nom aussi gros.
Pour en savoir plus à ce sujet, voici les " Limites des cookies du navigateur " pour les navigateurs courants.
Sur le sujet, si vous souhaitez prendre en charge la plupart des navigateurs, ne dépassez pas 50 cookies par domaine et 4093 octets par domaine . Autrement dit, la taille de tous les cookies ne doit pas dépasser 4093 octets.
Cela signifie que vous pouvez avoir 1 cookie de 4093 octets, ou 2 cookies de 2045 octets, etc.
J'avais l'habitude de dire 4095 octets en raison d'IE7, mais maintenant Mobile Safari est livré avec 4096 octets avec une surcharge de 3 octets par cookie, donc 4093 octets max.
En fait, la RFC 2965, le document qui définit le fonctionnement des cookies, spécifie qu'il ne doit pas y avoir de longueur maximale de clé ou de taille de valeur de cookie , et encourage les implémentations à prendre en charge des tailles arbitraires cookies de . Le maximum d'implémentation de chaque navigateur sera nécessairement différent, alors consultez la documentation de chaque navigateur.
Voir la section 5.3, «Limites de mise en œuvre», dans le RFC .
Après avoir testé quelques navigateurs moi-même et utilisé des captures de navigateur, j'ai compilé la liste suivante
Vous pouvez également utiliser le Web stockage si les spécifications de l'application le permettent (il prend en charge IE8 +).
Il a 5M (la plupart des navigateurs) ou 10M (IE) de mémoire.
" Web Storage (Second Edition) " est l'API et " HTML5 Local Storage " est un démarrage rapide.
Une clé de cookie (utilisée pour identifier une session) et un cookie sont la même chose utilisée de différentes manières. La limite serait donc la même. Selon Microsoft, ses 4096 octets.
les cookies sont généralement limités à 4096 octets et vous ne pouvez pas stocker plus de 20 cookies par site. En utilisant un seul cookie avec des sous-clés, vous utilisez moins de ces 20 cookies attribués à votre site. En outre, un seul cookie prend environ 50 caractères pour les frais généraux (informations d'expiration, etc.), plus la longueur de la valeur que vous y stockez, qui compte tous pour la limite de 4096 octets. Si vous stockez cinq sous-clés au lieu de cinq cookies distincts, vous économisez la surcharge des cookies séparés et pouvez économiser environ 200 octets.
Pas complètement entièrement une réponse directe à la question d'origine, mais pertinente pour les curieux essayant rapidement de comprendre visuellement leur planification de stockage d'informations sur les cookies sans implémenter un algorithme de limitation complexe, cette chaîne est de 4096 octets de caractères ASCII:
"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmn"