Відповіді:
Обмеження 4K, про яке ви читали, стосується всього файлу cookie, включаючи ім'я, значення, термін придатності тощо. Якщо ви хочете підтримувати більшість веб-переглядачів, я пропоную зберегти ім’я в розмірі 4000 байт і загальний розмір файлу cookie під 4093 байт.
Слід бути обережним: якщо ім'я завелике, ви не можете видалити файли cookie (принаймні, у JavaScript). Файл cookie видаляється шляхом оновлення та встановлення терміну дії. Якщо назва занадто велика, скажімо, 4090 байт, я виявив, що не можу встановити термін придатності. Я дивився на це лише з цікавості, а не на те, що планую назвати таке велике ім'я.
Щоб прочитати більше про це, ось " Обмеження файлів cookie браузера " для звичайних браузерів.
Якщо ви хочете підтримувати більшість веб-переглядачів, ви не повинні перевищувати 50 файлів cookie на домен і 4093 байти на домен . Тобто розмір усіх файлів cookie не повинен перевищувати 4093 байт.
Це означає, що ви можете мати печиво з 4093 байтів, або 2 файли cookie з 2045 байт тощо.
Раніше я говорив 4095 байт за рахунок IE7, однак зараз мобільний Safari постачається з 4096 байтами з 3 байтами на печиво, тому 4093 байт макс.
Насправді, RFC 2965, документ, який визначає, як працюють файли cookie, вказує, що не повинно бути максимальної довжини ключа чи розміру значень файлу cookie , і заохочує реалізацію підтримувати довільно великі файли cookie. Кожен максимум реалізації браузера обов'язково відрізнятиметься, тому зверніться до документації окремого браузера.
Дивіться розділ 5.3, "Обмеження впровадження", в RFC .
Після тестування декількох веб-переглядачів і використання браузерних знімків я склав наступний список
Ви також можете використовувати веб- сховище, якщо специфікація програми дозволяє вам (у ньому є підтримка IE8 +).
У його розпорядженні 5M (більшість браузерів) або 10M (IE) пам'яті.
" Веб-сховище (друге видання) " - це API, а " Місцеве зберігання HTML5 " - це швидкий початок.
Ключ cookie (використовується для ідентифікації сеансу) та cookie - це одне і те ж, що використовується різними способами. Тож межа була б однаковою. За даними Microsoft, її 4096 байт.
файли cookie зазвичай обмежені 4096 байтами, і ви не можете зберігати більше 20 файлів cookie на одному сайті. Використовуючи єдиний файл cookie з підрозділами, ви використовуєте меншу кількість тих 20 файлів cookie, які розміщено на вашому веб-сайті. Крім того, один cookie містить близько 50 символів для накладних витрат (інформація про термін дії тощо), плюс довжина значення, яке ви зберігаєте в ньому, і все це рахується до границі 4096 байт. Якщо ви зберігаєте п'ять підрозділів замість п'яти окремих файлів cookie, ви зберігаєте накладні витрати окремих файлів cookie та можете заощадити близько 200 байт.
Не зовсім пряма відповідь на початкове запитання, але актуальна для допитливих, які швидко намагаються візуально зрозуміти своє планування зберігання інформації про файли cookie, не застосовуючи складний алгоритм обмеження, цей рядок становить 4096 байтів символів ASCII:
"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmn"