Каковы текущие пределы файлов 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 появляются в журналах посетителей, зависит от каждого сайта, поэтому они не могут быть идеальными для всех.