Открыть сервисСервис

Куки (cookie) — файлы данных веб-браузера

Куки (англ. cookie, буквально «печенье») — небольшие фрагменты данных, которые веб-сайты сохраняют в памяти браузера пользователя при посещении страниц. Куки используются для идентификации пользователей, хранения настроек, поддержания состояния сеанса и сбора статистики. Технически куки представляют собой текстовые файлы или записи в памяти браузера, содержащие пару «имя-значение» и служебные метаданные (домен, срок действия, флаги безопасности).

История

Термин «cookie» и сама технология были предложены в 1994 году инженером Мэтом Куттоу (Matt Cutts) и Лу Монтульи (Lou Montulli) из компании Netscape. Первоначальная задача заключалась в том, чтобы веб-магазин мог «помнить» содержимое корзины пользователя при переходе между страницами. Название отсылает к понятию «magic cookie» из компьютерных сетей 1970-х годов — небольшого пакета данных, передаваемого между программами.

Вскоре куки стали стандартом де-факто для веб-разработки. В 1995 году компания Lotus разработала механизм, позволявший отслеживать пользователей через рекламные баннеры, что вызвало волну критики и первые дискуссии о приватности в интернете. В 2002 году Европейский союз принял директиву 2002/58/EC, обязывающую сайты получать согласие пользователей на установку необязательных куки. В России порядок работы с куки регулируется Федеральным законом № 152-ФЗ «О персональных данных» и требованиями Роскомнадзора о согласии на обработку данных.

Устройство и принцип работы

Когда пользователь открывает веб-страницу, браузер отправляет на сервер HTTP-запрос. Сервер в ответ может добавить заголовок Set-Cookie, указывающий, что нужно сохранить определённые данные. Браузер записывает их в своё хранилище и при последующих запросах к тому же домену автоматически подставляет их в заголовок Cookie.

Пример содержимого куки:

`` session_id=abc123; Path=/; Domain=example.com; Expires=Fri, 31 Dec 2025 23:59:59 GMT; Secure; HttpOnly; SameSite=Lax ``

Типичные атрибуты куки:

  • Name — имя переменной;
  • Value — сохраняемое значение;
  • Domain и Path — область действия (каким доменам и путям куки передаётся);
  • Expires / Max-Age — срок жизни;
  • Secure — передавать только по HTTPS;
  • HttpOnly — запретить доступ из JavaScript (защита от XSS);
  • SameSite — ограничение передачи при межсайтовых запросах (защита от CSRF).

Виды куки

ВидНазначениеВремя жизни
СессионныеХранят состояние вкладки (корзина, авторизация)Удаляются при закрытии браузера
ПостоянныеЗапоминают настройки, логиныЗаданный срок (дни, месяцы, годы)
Привязанные к доменуДоступны для всех страниц одного сайтаЛюбое
Сторонние (third-party)Устанавливаются рекламными и аналитическими сервисами, встроенными на сайтЛюбое
ТехническиеОбеспечивают работу сайта (балансировка, безопасность)Как правило, сессионные
АналитическиеСобирают статистику посещенийПостоянные

Применение

Основные сценарии использования куки:

  • Авторизация — хранение идентификатора сессии, чтобы пользователь не вводил логин и пароль на каждой странице.
  • Персонализация — язык интерфейса, тема оформления, региональные настройки.
  • Корзина интернет-магазина — сохранение выбранных товаров между переходами.
  • Реклама и аналитика — построение профилей интересов, ретаргетинг, подсчёт посещаемости. Именно этот сценарий вызывает основные претензии к технологии.
  • Безопасность — защита от межсайтовой подделки запросов (CSRF), ограничение числа попыток входа.

Приватность и регулирование

Сторонние куки позволяют рекламным сетям отслеживать пользователя на множестве сайтов, формируя единый профиль поведения. Это стало причиной ужесточения регулирования: директива ЕС ePrivacy, общий регламент по защите данных (GDPR) требуют явного согласия на нестрого необходимые куки. В России аналогичное требование закреплено в ст. 9 152-ФЗ: операторы обязаны получать согласие субъекта персональных данных, если куки содержат идентифицирующую информацию.

В ответ на правовые и общественные запросы браузеры начали ограничивать сторонние куки: Safari (WebKit) блокирует их по умолчанию с 2020 года, Firefox — с 2019 года. Google объявил о постепенном отказе от сторонних куки в Chrome, однако сроки переносились несколько раз; в 2024 году компания отказалась от планов полного удаления в пользу подхода «Privacy Sandbox», где вместо индивидуального отслеживания используются групповые интересы.

Управление куки

Пользователь может просматривать и удалять куки через настройки браузера (раздел «Конфиденциальность» или «Данные сайтов»). Дополнительно доступны расширения, блокирующие отдельные категории куки, и режимы инкогнито, в которых куки не сохраняются после закрытия окна. Полное отключение куки ломает значительную часть сайтов: выпадает авторизация, не работает корзина, некорректно отображается интерфейс.

Куки и JavaScript

Помимо HTTP-заголовков, куки доступны через свойство document.cookie в JavaScript. Разработчики используют это для клиентских настроек, но вместе с тем возникают риски: если сайт уязвим к атаке XSS, злоумышленник может украсть идентификатор сессии. Атрибут HttpOnly закрывает эту уязвимость, скрывая куки от скриптов.

Источники:

  • RFC 6265 — HTTP State Management Mechanism
  • Lou Montulli. The State of Cookie Technology (1998)
  • Федеральный закон № 152-ФЗ «О персональных данных»
  • Директива ЕС 2002/58/EC и GDPR (Регламент 2016/679)
  • Документация Mozilla Developer Network по HTTP cookies
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru