Куки хранят данные на стороне клиента (в браузере), представляют собой текстовые файлы с парой "ключ=значение" и информацией об их сроке действия и домене. Используются для сохранения предпочтений пользователя, авторизации, отслеживания активности. Сервер отправляет куки клиенту, а браузер автоматически отправляет их обратно серверу при каждом запросе к соответствующему домену.
Сессия хранит данные на стороне сервера. Клиент (браузер) получает уникальный идентификатор сессии (SID), который может храниться в куках или передаваться через URL. Сервер связывает SID с определенным набором данных (например, состояние корзины, информация об авторизованном пользователе). Сессия прекращается по истечению времени неактивности или при закрытии браузера (в зависимости от настроек).
Таблица различий:
| Признак | Куки | Сессия |
|---|---|---|
| Место хранения | Клиент (браузер) | Сервер |
| Объем данных | Ограничен (обычно несколько Кб) | Не ограничен, зависит от ресурсов сервера |
| Безопасность | Менее безопасны (могут быть прочитаны) | Более безопасны (данные на сервере) |
| Управление | Сервер отправляет, браузер хранит/отправляет | Сервер создает и управляет данными, браузер хранит SID |
| Назначение | Хранение мелких данных, предпочтений | Хранение состояния пользователя, больших данных |