Файл cookie HTTP - это фрагмент данных, сохраняемый веб-браузером пользователя. Если не указано иное, файлы cookie можно создавать, считывать, изменять и удалять как с помощью JavaScript, так и со стороны сервера через заголовки HTTP.

HTTP cookie- это фрагмент данных, сохраняемый веб-браузером пользователя. httponly, файлы cookie можно создавать, читать, изменять и удалять как с помощью JavaScript, так и на стороне сервера через заголовки HTTP.

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

Сервер устанавливает cookie, используя заголовок HTTP Set-Cookie:

 Set-Cookie: someName=someValue; Expires=Fri, 18-Jan-2013 10:13:13 GMT
 Set-Cookie: someOther=someOtherValue

Также можно устанавливать файлы cookie для изображений и аналогичного контента, что делает их мощным инструментом отслеживания. Когда cookie установлен, браузер сообщает об этом:

 Cookie: someName=someValue; someOtherName=someOtherValue

Для большей безопасности куки могут быть ограничены каким-либо доменом и путем:

 Set-Cookie: name=value; domain=www.foo.com; Path=/hereonly

Они также могут иметь дополнительные атрибуты secure (только HTTPS, но доступны через JavaScript) и httponly (HTTP или HTTPS, но не доступны через JavaScript):

 Set-Cookie: goldlocation=somewhere; Domain=.morgan.com; secure; httponly

В этом примере файл cookie доступен для всех поддоменов morgan.com, но только через HTTPS и недоступен из JavaScript.

Управление доступом к файлам cookie основывается на домене, (необязательно) пути и (необязательно) схеме URL (http: против https:). Правила, регулирующие использование файлов cookie, не совпадают с правилами управления доступом DOM в JavaScript, которые основаны на одной и той же политике домена, но поскольку доступ к файлам cookie в основном основан на доменном имени, их иногда путают с обычной HTTP-политикой того же домена.

Поведение файлов cookie HTTP в реальных браузерах не описано ни в одном RFC (таким образом, цитирование RFC для описания файлов cookie почти всегда неверно). Различные RFC представляют исторический интерес.

Рекомендуется разрешить не менее 20 файлов cookie на домен и 4 КБ на файл cookie. Если вы ищете альтернативу файлам cookie, которые не отправляются в заголовках HTTP и могут хранить больше данных, рассмотрите local-storage

Реализация Подсказка

Для jqueryесть простой плагин, облегчающий работу с файлами cookie (запись, чтение и удаление) можно найти здесь.


Вопросов: