Каковы текущие ограничения на использование файлов cookie в современных браузерах?

Каковы общие ограничения для файлов cookie для современных браузеров, начиная с 2011 года? Я особенно заинтересован в:

  • Максимальный размер одного куки
  • Максимальное количество файлов cookie на хост / доменное имя + путь
  • Максимальное количество файлов cookie на хост / доменное имя
  • Максимальное количество / максимальный общий размер всех файлов cookie в данном браузере

Я знаю о RFC 2109, который определяет:

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

но каковы спецификации реального мира?

3 ответа

Решение

Вот удобный инструмент для его проверки: http://browsercookielimits.squawky.net/

Он показывает довольно много о внутренних деталях, касающихся файлов cookie. Нажмите "Выполнить тесты для текущего браузера" для получения результатов (это займет всего минуту).

Например, я запустил все тесты для бета-версии Google Chrome 10.0.648.134:

22:23:46.639: Starting
22:23:47.345: Count: Max Cookie count with Character Length 3 and character "1": 180
22:23:50.131: Size: Max Cookie Character Length using character "1": 4096
22:23:52.347: Count: Max Cookie count with Character Length 4096 and character "1": 180
22:23:54.517: Size: Max Cookie Character Length using character "ÿ": 2049
22:23:57.450: Count: Max Cookie count with Character Length 2049 and character "ÿ": 180
22:23:59.41: Count: Max Cookie count with Character Length 100 and character "1": 180
22:24:0.535: Count: Max Cookie count with Character Length 10 and character "1": 180
22:24:2.88: Count: Max Cookie count with Character Length 5 and character "1": 180
22:24:2.886: Guessing Max Cookie Count Per Domain: 180
22:24:2.887: Guessing Max Cookie Size Per Cookie: 4096 bytes
22:24:2.887: Guessing Max Cookie Size Per Domain: NA

Этот ответ довольно старый, но я только что проверил результаты для последней версии Chrome, и они по сути одинаковы. Изменить: обновлены ответы для Chrome 54.0.2840.98 (64-разрядная версия).

Согласно этой теме, Firefox 3.5 повысил общий лимит для всех хостов до 3000, и Chrome последовал их примеру. Все, что я нашел для IE, это " по крайней мере 300".

Кроме того, хотя обычное Safari, по-видимому, не ограничено, Mobile Safari (iPod Touch 2G) имеет ограничение в 50 файлов cookie на хост, как и Android Browser (Android 2.2).

Возможно, вы также захотите взглянуть на javascript для клиентского хранилища, это особенность HTML5, которая позволяет нескольким мегабайтам данных оставаться невидимыми на ПК для посетителей.

Существует несколько вариантов, вот один с хорошей документацией http://www.jstorage.info/

Помимо Opera 10.10 и Safari-3, все основные браузеры, включая IE6, поддерживают эту функцию. Хотя IE6 может хранить только 128 КБ, а не 5–10 МБ, как в более поздних версиях. Конечно, как часто старые версии Opera и Safari отображаются в журналах посетителей, зависит от каждого сайта, поэтому может быть не идеальным для всех.

В Firefox >= 63 максимальное количество файлов cookie на домен составляет 180, cf pref "network.cookie.maxPerHost". Когда он достигает предела, он удаляет устаревшие файлы cookie, а затем удаляет небезопасные файлы cookie. Если ничего не работает, он просто откажется от cookie (cf netwerk/cookie/nsCookieService.cpp)

Другие вопросы по тегам