Прежде всего, давайте разрушим давний миф (или, по крайней мере, я думаю, что это существующий миф), что сеансовый cookie-файл - это нечто иное, чем обычный cookie-файл.Это не.Сеансовый файл cookie - это обычный файл cookie.Только свойства cookie сеанса, которые установлены (или, скорее, не установлены), обычно отличаются.Но механизм точно такой же.
Файл cookie устанавливается путем отправки заголовка ответа http браузеру:
Set-Cookie: name=value[; possible expiration-date][; other possible properties]
Что обычно отличает файл cookie сеансаиз обычного файла cookie означает, что дата окончания срока действия не установлена ( или дата окончания срока действия установлена на дату в прошлом ).Это означает, что браузер будет удалять куки после закрытия браузера.Но «обычное» печенье может сделать это точно так же.Таким образом, тем самым превращая его в «сессионное печенье», так сказать.
Теперь, когда это у нас в стороне;Механизм, с помощью которого файлы cookie обычно используются приложениями, чтобы заставить их выступать в качестве еще большего количества файлов cookie сеанса, помимо вышеупомянутых свойств, заключается в том, что значение файла cookie содержит только однозначно идентифицируемое значение некоторого вида.Возможно, md5
, может быть, sha1
хеш.
Каждый раз, когда браузер запрашивает ресурс на сервере, он отправляет этот файл cookie (если срок его действия не истек) с заголовком http-запроса, например так:*
Cookie: name=value
Механизмы сеанса в бэкэнде (в вашем случае PHP) связывали уникальный идентификатор cookie с данными, которые были сохранены в файле в файловой системе сервера, или, возможно, вбаза данных.Таким образом, каждый раз, когда файл cookie получен, он может извлечь эти данные и связать их с запросом.
Преимущество этого заключается в том, что конфиденциальная информация 1) может быть скрыта от необходимости перемещаться поnet, и 2) не попадает в кэш cookie браузера пользователя, сохраняя его на сервере.
Таким образом, в основном вы хотите отправлять нечувствительную и не жизненно важную информацию в видеобычный файл cookie (например, настройки макета, непостоянный список воспроизведения, например, на YouTube и т. д.) и использование сеанса для хранения конфиденциальной информации.
edit:
Извините, не обращайте внимания на то, что «или срок действия установлен на дату в прошлом», поскольку это было ложно.Это приведет к тому, что cookie будет немедленно аннулирован браузером и, следовательно, больше не будет отправляться вместе с запросами.