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

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

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

Я знаю RFC 2109, который указывает:

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

но что такое реальные спецификации?

Ответ 1

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

В нем подробно рассказывается о внутренних деталях куки. Нажмите "Run Tests for Current Browser" для получения результатов (это займет всего несколько минут).

Например, я провел все тесты для Google Chrome 10.0.648.134 beta:

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-разрядная версия).

Ответ 2

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

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

Ответ 3

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

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

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