Максимально допустимое количество файлов cookie - PullRequest
12 голосов
/ 12 ноября 2008

Насколько мне подсказывает поиск в Google, максимально допустимое количество файлов cookie сильно зависит от браузера, однако я не могу найти какие-либо последние данные о том, сколько файлов cookie разрешено в современных браузерах.

Мне нужно хранить несколько файлов пользовательских предпочтений в файлах cookie (для еще не зарегистрированных пользователей), так что будет лучшим способом сделать это? (Кроме того, эти куки будут доступны как на стороне клиента javascript, так и на стороне сервера php)

Ответы [ 6 ]

22 голосов
/ 12 ноября 2008

Из рфк :

  • не менее 300 файлов cookie

  • не менее 4096 байт на файл cookie (измеряется размером символы, которые составляют cookie нетерминальным в синтаксисе описание заголовка Set-Cookie)

  • не менее 20 файлов cookie для каждого уникального хоста или доменного имени

Это минимальные требования. Команда IE6 этого не поняла. Все остальное зависит от браузера. Вам лучше написать тест-платформу для тестирования каждого браузера. Протестируйте максимальный размер и число с небольшими пошаговыми шагами (и проверьте, читаются ли они по-прежнему).

Также, я помню, у apache есть проблема с огромным количеством куки. Хотя не могу вспомнить, где я это видел.

Вот небольшой скрипт для тестирования cookie: http://krijnhoetmer.nl/stuff/javascript/maximum-cookies/

15 голосов
/ 12 ноября 2008

Лучший способ - вообще не хранить их в куки.

Сохраните их в базе данных и сохраните ключ БД в файле cookie. Если это всего лишь несколько предпочтений, то проблема безопасности не так важна.

Не забывайте, что куки будут отправляться с каждым запросом - если у вас есть 2 КБ данных cookie и загружено 10 изображений на страницу, это дополнительные 22 КБ данных.

6 голосов
/ 02 октября 2012

Количество файлов cookie:

  • Chrome 9 допускает 180 файлов cookie на домен
  • Firefox 3.6.3 допускает 50 файлов cookie на домен
  • Internet Explorer 8 допускает 50 файлов cookie на домен
  • В Opera 10 и 9 разрешено 30 файлов cookie на домен

Ограничения размера файла cookie (4096 байт):

  • Firefox и Safari разрешают файлы cookie длиной до 4097 символов, это 4096 для имени и значения и одно для знака равенства.
  • Opera допускает использование файлов cookie длиной до 4096 символов для имени, значения и знака равенства.
  • Internet Explorer допускает использование файлов cookie длиной до 4095 символов, что соответствует имени, значению и знаку равенства.

SRC: http://webdesign.about.com/od/cookies/f/cookies-per-domain-limit.htm и http://www.nczonline.net/blog/2008/05/17/browser-cookie-restrictions/

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

Я рассмотрел это сегодня, если вы хотите поддерживать большинство браузеров, то не превышайте 50 файлов cookie на домен и не превышайте 4095 байт на домен (т. Е. Общий размер всех файлов cookie <= 4095 байт) </p>

Чтобы узнать больше об этом, вот тестовая страница и результаты .

2 голосов
/ 12 ноября 2008

IIRC, это 20 для общего большинства, больше для некоторых и 10 для одного конкретного браузера (опять IIRC, IE5.5?). До 10 считается безопасным числом.

В любом случае вам не нужно больше одного - просто используйте его для хранения идентификатора на стороне клиента и хранения всего, что вам нужно, на стороне сервера для этого идентификатора. Помимо всего прочего, чем меньше данных вы оставляете клиенту, тем меньше у них есть возможности удалить / испортить / взломать / и т.д.

0 голосов
/ 09 мая 2014

Не уверен, насколько это имеет смысл с их точки зрения, но Я видел дикие веб-сайты, на которых было установлено более 450 файлов cookie и отправляли отчеты более чем 140 различным сторонним доменам .

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