Сессии и куки не совпадают на всех. Cookies являются клиентской стороной. Сессии на стороне сервера. Сеансы часто (но не обязательно) используют файлы cookie для сопоставления одного запроса с другим от одного и того же пользователя, чтобы определить, что они принадлежат одному и тому же сеансу.
Сессия - это искусственное понятие, а в HTTP этого понятия нет. Он создается веб-серверами, чтобы помочь веб-разработчикам передавать информацию по запросам, такую как информация об учетной записи пользователя, корзины покупок, данные форм и т. Д. Файл cookie передается стандартными заголовками HTTP.
Информация, которую вы сохраняете в сеансе, а не в файле cookie, зависит от вас. Обычно вы помещаете в файлы cookie файлы, которые вы хотите сохранить в течение сеансов после того, как пользователь закрывает свой браузер. Может быть, запоминание токенов аутентификации для реализации функции «запомни меня» или прошлые действия пользователя для персонализации его / ее опыта. Сохраняйте эту информацию небольшой и «ссылочной», то есть это могут быть просто идентификаторы, которые относятся к более богатой информации, которую вы храните на стороне сервера. Помните, что сторона клиента более уязвима для вредоносных программ, поэтому не храните пароли и конфиденциальную информацию.
Наконец, есть также локальное хранилище, о котором вы не упомянули. Это также на стороне клиента, но, возможно, немного менее подвержено взлому межсайтового скриптинга, поскольку, в отличие от данных cookie, они не отправляются автоматически в заголовках.