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

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

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

История

Идея куки возникла в 1994 году в Netscape Communications. Инженер Лу Монтульи (Lou Montulli) разработал механизм хранения небольших фрагментов данных на стороне клиента для решения проблемы отсутствия «состояния» в протоколе HTTP — каждый запрос к серверу изначально считался независимым, и сервер не мог отличить повторное обращение одного пользователя от нового. Техническое название термина связано с «magic cookies» — понятием из информатики, обозначающим данные, передаваемые программе без изменения. Первый браузер с поддержкой куки — Netscape Navigator 2.0 (1995 год). В 1997 году формат куки был стандартизирован в документе RFC 2109, а в 2000 году — в RFC 2965; в 2011 году вышел RFC 6265, описывающий современный механизм.

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

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

Каждая куки-строка обычно содержит:

  • имя и значение;
  • срок действия (дата истечения);
  • домен, к которому относится куки;
  • путь на сайте;
  • флаги безопасности (Secure — передавать только по HTTPS, HttpOnly — запретить доступ из JavaScript, SameSite — ограничить передачу при межсайтовых запросах).

Классификация

ТипВремя храненияНазначение
Сессионныедо закрытия браузерахранение состояния текущего визита (корзина, авторизация)
Постоянныезаданный срок (от минут до лет)запоминание настроек, идентификация при повторных визитах
Собственные (first-party)—устанавливаются самим посещаемым сайтом
Сторонние (third-party)—устанавливаются доменами сторонних сервисов, встроенных на страницу (рекламные сети, счётчики аналитики)

Сторонние куки являются основным механизмом межсайтового отслеживания пользователей и потому вызывают наибольшие претензии со стороны приватности.

Применение

Куки используются практически всеми современными сайтами. Основные сценарии:

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

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

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

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

Ограничения и безопасность

Куки хранятся в открытом виде и могут быть украдены при перехвате трафика, поэтому их передача по незащищённому HTTP небезопасна; флаг Secure и использование HTTPS снижают этот риск. Доступ к куки из JavaScript (через document.cookie) делает их уязвимыми для атак типа XSS — для защиты от этого используется флаг HttpOnly. Механизм SameSite (значения Strict, Lax, None) ограничивает отправку куки при межсайтовых запросах и снижает уязвимость к CSRF-атакам.

Источники:

  • RFC 6265: HTTP State Management Mechanism
  • Л. Монтульи. Cookie specification history (Netscape, 1994–1995)
  • GDPR (Regulation (EU) 2016/679), ePrivacy Directive 2002/58/EC
  • Федеральный закон РФ № 152-ФЗ «О персональных данных»
  • Apple Safari Intelligent Tracking Prevention (Technical Documentation)
  • Google Privacy Sandbox documentation (2024)
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru