Что такое cookie (куки) и зачем они нужны

Ответы, которые вы всегда хотели узнать, но боялись куки

Что такое cookie (куки) и зачем они нужны

Если вы зашли в соцсеть, потом выключили компьютер, включили и снова зашли, то второй раз пароль у вас, скорее всего, соцсеть не спросит. Потому что она оставила в вашем компьютере куки и теперь пользуется этим. То же самое с корзинами в интернет-магазине, которые помнят неделями, что вы туда положили, даже если не регистрировались.

Рассказываем, как работает эта технология и почему в какой-то момент она начала всех бесить.

Что такое cookie (куки)?

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

Определение простыми словами 

Куки можно сравнить с запиской, которую сайт оставляет в вашем браузере, чтобы потом узнать вас при следующем визите. Вы зашли в интернет-магазин, добавили кроссовки в корзину, закрыли вкладку. А через пару часов вернулись — и товары в корзине на месте. Это всё из-за куки.

Если говорить более формально: cookie — это небольшой текстовый файл, который сайт сохраняет в браузере. В нём могут храниться логин, настройки языка, содержимое корзины или просто отметка: «Этот пользователь уже был у нас, вот его ID».

Куки не являются программами и ничего не делают сами. Это просто данные. Когда вы снова заходите на сайт, браузер отправляет эти данные обратно — и сайт вас узнаёт.

Почему их называют «куки»?

В 70-х годах в программировании уже существовало понятие magic cookie — это был небольшой фрагмент данных, который передавался между частями программы и помогал, например, подтвердить авторизацию.

Почему именно «печенье»? Точно неизвестно. Есть версии, что это просто шутка программистов, у которых тогда было настроение назвать фрагмент данных в честь сладкого ¯\_(ツ)_/¯

В 1994 году разработчик Лу Монтулли из Netscape предложил использовать такую же идею — только уже в вебе. Так появились HTTP cookies: маленькие текстовые файлы, которые помогают сайтам узнавать пользователей и сохранять их настройки между посещениями. Название cookie закрепилось, и теперь такое «печенье» есть в каждом браузере.

Как работают cookie?

Куки — это данные, которые сайт сохраняет в браузере, чтобы помнить пользователя между запросами. Разберёмся, как всё это происходит под капотом — от заголовков до хранения на клиенте.

Технический принцип работы (HTTP-заголовки, хранение данных)

Когда вы заходите на сайт, всё начинается с обычного HTTP-запроса. Примерно вот так:

GET /index.html HTTP/1.1
Host: thecode.media

Сервер отвечает страницей и заодно пихает в заголовок ответа строку вида:

Set-Cookie: user_id=12345; Expires=Wed, 01 Jan 2026 00:00:00 GMT; Path=/

HTTP-заголовок Set-Cookie — это и есть команда браузеру: «Сохрани вот эту куку с таким-то ID, её срок жизни до 2026 года, и она нужна на всех страницах сайта». Браузер сохраняет куку локально — и при следующем запросе к тому же домену сам добавляет:

Cookie: user_id=12345

Сервер смотрит на этот заголовок и понимает: «Ага, это тот самый юзер 12345, он уже был у нас». И теперь сервер может вернуть персонализированную страницу: имя, корзину, язык — всё что угодно.

Что такое cookie (куки) и зачем они нужны
Как работают куки в HTTP. Источник: sumontasaha80.medium.com

Хотя куки — это просто текст, в большинстве случаев вы не увидите в них ничего человекочитаемого. Чаще всего это зашифрованные или закодированные значения: длинные строки из цифр и символов.

Что такое cookie (куки) и зачем они нужны

Так что если заглянете в инструменты разработчика, посмотрите файл куки и ничего не поймёте — это нормально. Смысл этой строки понимает только сайт, который её поставил.

Какие данные хранят куки

Основная задача — помогать сайтам запоминать о вас какую-то информацию. Поэтому в куки обычно кладут:

  • Токены авторизации. Чтобы не заставлять вас вводить пароль каждый раз.
  • Настройки интерфейса. Например, выбранный язык, тёмная тема или размер шрифта.
  • Содержимое корзины.
  • Время последнего посещения. Когда вы были на сайте, сколько времени провели, какие страницы открывали. 
  • Идентификаторы пользователя. Часто это просто уникальный код, по которому вас узнают — user_id=abc123.

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

👉 В куках нельзя хранить ничего секретного — пароли, номера банковских карт и другую чувствительную информацию. Это плохая практика, и нормальные сайты так не делают. Но в интернете случается всякое, конечно.

Виды cookie

Куки бывают разные — всё зависит от того, сколько они живут, кто их ставит и для чего вообще нужны. 

Сессионные vs постоянные куки

Все куки можно условно разделить по сроку жизни: одни исчезают сразу после закрытия браузера, другие могут храниться месяцами — пока вы сами не удалите их вручную или не очистите браузер.

Сессионные куки (session) — живут, только пока открыт браузер. Закрыли вкладку, выключили ноутбук — кука удаляется автоматически. Они отвечают за временные штуки, например чтобы сайт знал, что вы авторизованы в текущей сессии.

Постоянные куки (persistent) — остаются в браузере дольше. У них задан срок действия в атрибутах (Max-Age или Expires): они удаляются либо по истечении конкретной даты, либо через определённое время.

Благодаря таким кукам сайт может помнить ваш логин или настройки интерфейса через неделю.

Первопартийные и сторонние куки (разница и примеры)

Кроме срока жизни, у кук есть ещё одна важная характеристика — кто их ставит. Это определяет, кто сможет читать эти данные и как они будут использоваться.

Первопартийные куки (first-party) ставит сам сайт, на котором вы находитесь. Например, вы куда-то зашли и этот сайт сохранил у вас логин или тему интерфейса. Такие куки работают только на этом домене и чаще всего нужны для корректной работы сайта.

Сторонние куки (third-party) ставят внешние сервисы, которые подгружаются на сайте. Например, если сайт использует баннер от рекламной сети, то эта сеть (ads.com) может тоже оставить свою куку. И потом отслеживать вас на других сайтах, где есть те же баннеры.

Что такое cookie (куки) и зачем они нужны

Именно сторонние куки чаще всего используют для рекламы и трекинга. Поэтому современные браузеры постепенно ограничивают их работу или блокируют по умолчанию.

Зачем нужны cookie?

Мы уже кратко рассмотрели, какие данные хранятся в куках, теперь разберёмся более подробно, зачем всё это нужно.

Авторизация на сайтах

Один из самых частых сценариев: вы зашли на сайт, ввели логин и пароль — и остались внутри профиля, даже если обновили страницу. Всё благодаря куке, которая связана с вашей сессией.

В куке хранится только ID сессии или, если сайт использует JSON Web Token, зашифрованный или подписанный токен. Например, в куке может лежать вот такая строка:

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NT…

Ничего не понятно, но сервер по этой строчке узнаёт вас. А если вы выходите из аккаунта — он просто аннулирует куку и больше не считает вас авторизованным.

Персонализация контента

Куки позволяют сайту не просто узнавать вас, но и подстраиваться под ваши привычки и интересы.

Например, вы зашли на сайт авиабилетов, выбрали язык интерфейса, указали город вылета и переключили валюту на евро. Сайт тут же зафиксировал это в куках. При следующем заходе браузер отправит на сервер эти куки и сайт покажет нужные настройки.

Ещё пример: новостной портал может сохранять куку с выбранными темами — «Наука», «Политика», «Технологии». Поэтому при следующем визите вы увидите подборку под ваши интересы, а не случайный набор материалов.

Куки не хранят сами статьи или дизайн, они хранят настройки. А сайт на их основе уже решает, что и как вам показать.

Таргетированная реклама

Допустим, вы смотрите кофеварку на сайте магазина. Этот сайт подключён к рекламной сети (например, Google Ads), и вместе со страницей загружается небольшой скрипт от Google. Этот скрипт делает важную вещь: оставляет в вашем браузере стороннюю куку от домена рекламной сети, например: ads_user_id=abc789.

Теперь браузер знает: вы — пользователь abc789 для сайта ads.google.com. Теперь, когда вы переходите на другой сайт, где тоже есть реклама от Google, эта кука передаётся снова. Рекламная сеть узнаёт вас — и подсовывает баннеры с кофеваркой, которую вы смотрели пять минут назад.

Суть в том, что сама кука не обязательно содержит вашу историю просмотров. Она просто содержит ID, по которому рекламная сеть ведёт вас в своей базе. То есть вся аналитика на стороне сервера. А кука — это всего лишь ярлык: «этот браузер = вот этот профиль».

Безопасность и приватность

Сами по себе куки безобидные. Это просто текстовые файлы, которые не могут ничего запускать, шпионить или ломать вам систему. У них нет кода, вирусов, троянов и прочих страшилок. 

Могут ли куки навредить («опасны ли куки»)

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

Например, сайт работает без HTTPS, а вы подключились через общедоступный вайфай. В этом случае куки можно перехватить, особенно если в них лежит токен авторизации. Его можно просто вставить в заголовок запроса (Authorization: Bearer <токен>) — и сервер подумает, что это вы. И всё: доступ к аккаунту открыт без логина и пароля.

Другой сценарий — сторонние куки, которые ставят рекламные и аналитические сети. Они не вредят напрямую, но могут отслеживать ваше поведение на разных сайтах: где вы были, что смотрели, на чём задержались. Та самая раздражающая ситуация: погуглили кроссовки, и теперь они преследуют вас по всему интернету.

А бывают случаи, когда разработчики сами создают дыру. Например, хранят в куках мейл, логин или даже роли доступа — и при этом никак это не шифруют. 

Чтобы таких историй не было, куки нужно правильно настраивать через их атрибуты:

  • Securep: кука отправляется только по HTTPS, без него будет открыт вход для перехвата;
  • HttpOnly: кука недоступна из JavaScript, что защищает от XSS-атак;
  • SameSite: ограничивает отправку куки с других сайтов. Это щит против CSRF-атак — когда злоумышленник пытается заставить ваш браузер сделать запрос от вашего имени без вашего ведома;

Ну и главное: никаких паролей и секретных данных в куках. Даже если вы их шифруете.

Как управлять куками в браузере 

В Chrome, Firefox и прочих браузерах можно настроить, кто, когда и сколько будет о вас помнить.

Chrome

Заходим в Настройки → Конфиденциальность и безопасность.

Что такое cookie (куки) и зачем они нужны

Удалить данные браузера: здесь можно подчистить куки вручную.

Полезно, если сайт ведёт себя странно, — бывает, помогает просто стереть куки и перезайти.

Сторонние файлы cookie: можно настроить куки от других сайтов, встроенных в текущую страницу (реклама, аналитика и прочее).

Можно блокировать сторонние куки — это обрубает возможности рекламных сетей вас отслеживать. Но при этом некоторые сайты могут глючить (например, если авторизация идёт через другой домен):

Что такое cookie (куки) и зачем они нужны

Настройки сайтов: можно настроить правила для отдельных сайтов. Например, запретить трекеры на одном, но разрешить авторизацию на другом.

Что такое cookie (куки) и зачем они нужны

Firefox

Заходим в Настройки → Приватность и защита

Что такое cookie (куки) и зачем они нужны

В разделе «Куки и данные сайтов» можно посмотреть общий объём хранимых куков, кэша и локальных данных:

  • Удалить данные — подчистить куки и кэш вообще со всех сайтов.
  • Управление данными — посмотреть, кто сколько весит, и удалить точечно (например, оставить нужные логины).
  • Управление исключениями — задать сайты, которым нельзя хранить куки вообще.

Опция «Удалять куки и данные сайтов при закрытии Firefox» говорит браузеру, что каждый раз нужно стартовать с чистого листа. Все данные сессий будут удаляться.

Частые вопросы о cookie

Как очистить куки

Куки можно удалить двумя способами. Через централизованную очистку в настройках браузера либо через инструменты разработчика. В этом случае можно удалить только определённые куки на сайтах.

Chrome

  • Заходим в Настройки → Конфиденциальность и безопасность → Удалить данные браузера.
Что такое cookie (куки) и зачем они нужны
  • Выбираем временной диапазон (например, «Последний час» или «За всё время»).
  • Ставим галочку на «Файлы cookie и другие данные сайтов».
  • Жмём «Удалить данные».

Будьте готовы, что вас разлогинит на большинстве сайтов.

Через DevTools:

  • Открываем сайт.
  • Жмём F12 или Cmd+Option+I → вкладка Приложение (Application).
  • Слева: Хранилище (Storage) → Файлы сookie.
Что такое cookie (куки) и зачем они нужны

Здесь можно:

  • справа удалить отдельные куки (правая кнопка мыши → «Удалить»). Удобно, если надо снести сессионные куки у конкретного сайта, не трогая остальное.
    Что такое cookie (куки) и зачем они нужны
    • слева подчистить всё на сайте кнопкой «Сбросить».
    Что такое cookie (куки) и зачем они нужны

    Firefox

    Вариант через настройки браузера мы уже рассмотрели выше (см. раздел «Как управлять куками в браузере»). Можно удалить куки поштучно или все, а также можно задать исключения.

    Через DevTools — всё как в Chrome:

    1. Открываем сайт.
    2. F12 → вкладка Хранилище (Storage).
    3. Раздел «Куки».
    4. Можно посмотреть файлы, удалить выборочно или подчистить всё.
    Что такое cookie (куки) и зачем они нужны

    👉 А вот Tor-браузер (на базе Firefox) жёстко ограничивает куки, стирает их после сессии и блокирует сторонние. Это нужно, чтобы вас не отслеживали и не деанонимизировали.

    Кроме встроенных способов, есть расширения для браузеров (EditThisCookie, Cookie AutoDelete). Они умеют автоматически удалять куки после закрытия вкладки и чистить только определённые домены.

    Что будет, если отключить куки

    В общем случае сайты перестанут вас помнить и автоматически входить по логину и паролю. Каждый раз нужно будет логиниться заново, даже если случайно закроете окно браузера.

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

    Законны ли куки

    Когда вы заходите на какой-то сайт впервые и видите там предупреждение о куках, то сталкиваетесь с GDPR:

    Что такое cookie (куки) и зачем они нужны

    GDPR (General Data Protection Regulation) — это такой европейский регламент про защиту персональных данных. Если сайт используется или может использоваться жителями Евросоюза, то он должен предупредить читателя о том, что будет применять куки для своих нужд.

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

    Если такой надписи нет, то сайт не использует куки или на него не распространяется действие GDPR. Или распространяется, но владельцу сайта всё равно. Правило такое: если надпись есть — сайт точно использует куки. Если надписи нет — скорее всего, тоже, просто сайт об этом не говорит.

    Бонус для читателей

    Если вам интересно погрузиться в мир ИТ и при этом немного сэкономить, держите наш промокод на курсы Практикума. Он даст вам скидку при оплате, поможет с льготной ипотекой и даст безлимит на маркетплейсах. Ладно, окей, это просто скидка, без остального, но хорошая. 

    Вам слово

    Приходите к нам в соцсети поделиться своим мнением о куках и почитать, что пишут другие. А ещё там выходит дополнительный контент, которого нет на сайте — шпаргалки, опросы и разная дурка. В общем, вот тележка, вот ВК — велком!

    Обложка:

    Алексей Сухов

    Корректор:

    Александр Зубов

    Вёрстка:

    Егор Степанов

    Соцсети:

    Юлия Зубарева

    Вам может быть интересно
    Как на самом деле производят процессоры
    Как на самом деле производят процессоры

    Чтобы создать сверхмощный процессор, достаточно простого...

    На стиле — подборка интересных CSS-свойств
    На стиле — подборка интересных CSS-свойств

    Вы не поверите, до чего дошёл прогресс!

    medium
    Задача про соседских тараканов
    Задача про соседских тараканов

    Простая математика, но непростая логика. Проверьте, получится ли у вас.

    easy
    Как работает пузырьковая сортировка
    Как работает пузырьковая сортировка

    Самый простой, но не самый эффективный алгоритм.

    easy
    Как работает сортировка слиянием
    Как работает сортировка слиянием

    Одна из самых стабильных сортировок

    medium
    Бесконтактная оплата картой: как это работает
    Бесконтактная оплата картой: как это работает

    Сложнее, чем кажется

    easy
    Игра, которая проверяет вашу программистскую логику
    Игра, которая проверяет вашу программистскую логику

    Разбираем типичное задание на собеседованиях

    medium
    Зачем начинающим айтишникам ходить на конференции
    Зачем начинающим айтишникам ходить на конференции

    И как начать в них участвовать

    easy
    «Успешный программист не привязывается к языку. Он просто умеет программировать»
    «Успешный программист не привязывается к языку. Он просто умеет программировать»

    Давид Роганов о работе фронтенд-разработчика в Яндекс.Практикуме.

    easy