Каков максимальный размер ключа cookie веб-браузера? - PullRequest
274 голосов
/ 13 марта 2009

Каков максимальный размер ключа cookie веб-браузера?

Я знаю, что максимальный размер файла cookie составляет 4 КБ, но есть ли у ключа ограничение?

Ответы [ 5 ]

332 голосов
/ 05 января 2011

Ограничение в 4 КБ, о котором вы читаете, относится ко всему файлу cookie, включая имя, значение, дату истечения срока действия и т. Д. Если вы хотите поддерживать большинство браузеров, я рекомендую хранить имя менее 4000 байт, а общий размер куки - менее 4093 байт.

Остерегайтесь одной вещи: если имя слишком большое, вы не можете удалить cookie (по крайней мере, в JavaScript). Файл cookie удаляется путем обновления и установки срока его действия. Если имя слишком большое, скажем, 4090 байт, я обнаружил, что не могу установить дату окончания срока действия. Я только смотрел на это из интереса, не то, чтобы я планировал иметь такое большое имя.

Чтобы узнать больше об этом, вот " Ограничения Cookie браузера""для обычных браузеров.


Если говорить о теме, то если вы хотите поддерживать большинство браузеров, то не превышайте 50 файлов cookie на домен и 4093 байта на домен . То есть размер всех файлов cookie не должен превышать 4093 байта.

Это означает, что вы можете иметь 1 cookie размером 4093 байта или 2 cookie размером 2045 байтов и т. Д.


Раньше я говорил 4095 байт из-за IE7, однако теперь в Mobile Safari входит 4096 байт с 3-байтовыми накладными расходами на каждый файл cookie, поэтому не более 4093 байт.

101 голосов
/ 13 марта 2009

На самом деле, RFC 2965, документ, который определяет, как работают куки, указывает, что не должно быть максимальной длины ключа куки или размера значения , и рекомендует реализациям поддерживать произвольно большой * 1004. * печенье. Максимум реализации каждого браузера обязательно будет разным, поэтому обратитесь к документации отдельного браузера.

См. Раздел 5.3, «Пределы реализации», в RFC .

37 голосов
/ 22 июня 2012

Вы также можете использовать web хранилище, если спецификация приложения позволяет вам это (он поддерживает IE8 +).

Имеется 5M (большинство браузеров) или 10M (IE) памяти.

" Веб-хранилище (второе издание) " - это API, а " HTML5 Local Storage " - быстрое начало.

36 голосов
/ 18 февраля 2017

После тестирования нескольких браузеров и использования снимков браузера я составил следующий список

enter image description here

14 голосов
/ 13 марта 2009

Ключ cookie (используется для идентификации сеанса) и cookie - это одно и то же, и они используются по-разному. Таким образом, предел будет таким же. По данным Microsoft, его 4096 байт.

MSDN

печенье обычно ограничено 4096 байт, и вы не можете хранить более 20 куки на сайт. Используя один cookie с подключами, вы используете меньше те 20 куки, которые ваш сайт выделено. Кроме того, один файл cookie занимает около 50 символов для накладные расходы (информация об истечении срока действия и так далее) плюс длина значения что вы храните в нем, все из которых рассчитывает на ограничение 4096 байт. Если вы храните пять подразделов вместо пяти отдельные куки, вы сохраняете накладные расходы на отдельные куки и может сохранить около 200 байтов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...