Cookie — небольшие данные, которые сайт сохраняет в браузере пользователя и использует при последующих запросах
⏩ Cookie — как номерок в гардеробе. Гардеробщик не запоминает лично, а выдает номерок, по которому находит вещи
⏩ Работают схоже: браузер хранит идентификатор, а сервер по нему понимает, кто выполняет запрос
Протокол HTTP — stateless (не хранит состояние). Каждый запрос сам по себе не
знает ничего о предыдущем. Поэтому без cookie серверу сложно понимать:
🟡кто авторизован
🟡что лежит в корзине
🟡какие настройки выбрал пользователь
🟡выполнял ли пользователь действия ранее
Как работают по шагам
1. пользователь открывает сайт
2. сервер отправляет браузеру заголовок
Set-Cookie3. браузер сохраняет данные
4. при следующих запросах браузер автоматически добавляет заголовок
Cookie5. сервер использует полученное значение
Важно:
🟡cookie хранятся на стороне клиента
🟡браузер сам управляет отправкой cookie
🟡cookie привязаны к доменам и правилам доступа
🟡срок хранения может быть ограничен
Жизненный цикл
Создание ➡ сохранение в браузере ➡ использование в запросах ➡ обновление ➡ удаление или истечение срока действия
Cookie могут удаляться:
⭕пользователем вручную
⭕браузером
⭕сервером
⭕после окончания срока действия
Для чего используются
⏩ Авторизация и сессии
После входа сервер выдает идентификатор сессии.
Благодаря этому пользователь не авторизуется заново на каждой странице
⏩ Персонализация
Cookie позволяют сохранять
⭕язык интерфейса
⭕тему оформления
⭕настройки отображения
⭕регион и тд
⏩ Корзины интернет-магазинов
Позволяют хранить связь между пользователем и выбранными товарами
⏩ Аналитика
Для:
⭕подсчета посетителей
⭕отслеживания поведения
⭕измерения конверсий
⭕анализа пользовательских путей
⏩ Реклама и маркетинг
⭕помогают показывать релевантную рекламу
⭕ограничивать частоту показов
⭕строить аудитории
⏩ A/B-тестирование
Позволяют закреплять пользователя за вариантом эксперимента
Виды Cookie
⬆ First-party Cookie (собственные)
Создаются сайтом, который пользователь открыл
Примеры:
⭕авторизация
⭕корзина
⭕пользовательские настройки
⬇Third-party Cookie (сторонние)
Создаются сторонними доменами
Примеры:
⭕рекламные сети
⭕аналитические сервисы
⭕виджеты
Сторонние Cookie ограничивают из-за приватности
✖ Проблемы:
➖межсайтовое отслеживание
➖сбор пользовательских профилей
➖непрозрачность обработки данных
Влияние на интеграции
⏩ SSO (Single Sign-On)
После единого входа пользователь получает cookie сессии
Что учитывать:
📍домены и поддомены должны быть настроены корректно
📍срок жизни cookie влияет на длительность авторизации
📍ограничения SameSite могут нарушить сценарий входа между системами
⏩ API
Браузер может автоматически отправлять cookie вместе с запросами
Что учитывать:
📍корректная настройка CORS
📍для кросс-доменных запросов необходимо учитывать SameSite и Secure
📍часть API вместо cookie использует JWT-токены
📎 Материалы
1. Что такое Cookie и зачем они нужны
2. Ультимативный гайд по HTTP. Cookies и CORS
3. Что такое cookie?
4. Что такое cookie и для чего они нужны
5. Перевод Всё о файлах cookie и их безопасности
#проектирование
➿➿➿➿➿➿➿➿
🧑🎓 Больше полезного в базе знаний по системному анализу