web-dev-qa-db-fra.com

Quelle est la taille maximale de la clé de cookie d'un navigateur Web?

Quelle est la taille maximale de la clé de cookie d'un navigateur Web?

Je sais que la taille maximale d'un cookie est de 4 Ko, mais la clé a-t-elle également une limitation?

284
user77480

La limite de 4K que vous avez lue concerne le cookie complet, 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 conserver le nom sous 4000 octets et la taille totale du cookie sous 4093 octets.

Attention, si le nom est trop gros, vous ne pouvez pas supprimer le cookie (du moins en JavaScript). Un cookie est supprimé en le mettant à jour et en le faisant expirer. Si le nom est trop gros, par exemple 4090 octets, j'ai constaté que je ne pouvais pas définir de date d'expiration. Je me suis seulement intéressé à cela, pas que je prévoie d’avoir un nom aussi gros.

Pour en savoir plus, voici le " 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 que 4095 octets étaient dus à IE7, mais maintenant, Safari mobile vient avec 4096 octets avec un overhead de 3 octets par cookie, donc 4093 octets maximum.

343
Iain

En réalité, le document RFC 2965, qui définit le fonctionnement des cookies, spécifie qu’il doit y avoir pas de longueur maximale de la taille d'un clé ou d'une valeur de cookie, et encourage les implémentations à prendre en charge des cookies arbitrairement volumineux . Le nombre maximum d'implémentations de chaque navigateur sera nécessairement différent, consultez la documentation de votre navigateur.

Voir la section 5.3, "Limites d’implémentation", dans la RFC .

104
John Feminella

Vous pouvez également utiliser le stockage web si les spécifications de l'application vous le permettent (il prend en charge IE8 +).

Il a 5M (la plupart des navigateurs) ou 10M (IE) de mémoire à sa disposition.

" Stockage Web (Deuxième édition) " est l'API et " Stockage local HTML5 " est un démarrage rapide.

39
Michael

Après avoir testé moi-même quelques navigateurs et utilisé Browser Shots, j'ai compilé la liste suivante

enter image description here

38
Behnam Mohammadi

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. Donc, la limite serait la même. Selon Microsoft, ses 4096 octets.

MSDN

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 des 20 cookies attribués à votre site. De plus, un cookie unique nécessite environ 50 caractères de surcharge (informations d'expiration, etc.), plus la longueur de la valeur que vous y stockez, qui comptent tous pour la limite de 4096 octets. Si vous stockez cinq sous-clés au lieu de cinq cookies distincts, vous enregistrez les frais généraux liés aux cookies distincts et pouvez économiser environ 200 octets.

15
cgreeno