Сеансовые файлы cookie по сравнению с другими типами файлов cookie

В Internet Explorer, например, вы можете включить основные файлы cookie, сторонние файлы cookie и разрешить файлы cookie сеанса.

Я знаю разницу между:

  • основной файл cookie и сторонний файл cookie, а также
  • сеанс PHP и файл cookie.

Но что такое файл cookie сеанса? А как его установить с помощью PHP?

Например, вы не можете войти в Facebook без включенных файлов cookie. Однако, если вы разрешите сеансовые файлы cookie, вы можете войти в Facebook.

Итак, чем файл cookie сеанса отличается от других типов файлов cookie?


person jon    schedule 17.12.2011    source источник
comment
Можно начать со страницы информации для тега [файлы cookie сеанса].   -  person DavidRR    schedule 12.01.2018


Ответы (4)


У cookie есть время жизни, по истечении которого он истечет (как указано в директиве Expires). Если вы не установите тайм-аут, браузер истечет срок действия cookie, когда вы закроете браузер. Это называется сеансовым файлом cookie.

Такие файлы cookie часто используются для отслеживания текущего состояния сеанса пользователя на стороне сервера (например, сеансы php), но нет сильной связи между двумя вариантами использования слова «сеанс».

person troelskn    schedule 17.12.2011
comment
Меня этот вопрос тоже интересует. Вы имеете в виду, что в самом cookie-файле нет ничего особенного, который идентифицировал бы его как cookie сеанса? Специальное ключевое слово или что-то в этом роде? (нашел ответ: файл cookie сеанса не имеет Expires - это означает, что ваше определение не совсем правильное) - person fge; 18.12.2011
comment
спасибо troelskn, это, похоже, решает мои проблемы ... С уважением, J ... могу ли я спросить ... используют ли такие сайты, как faceobok и т. менее интенсивный сервер? С уважением, J - person jon; 18.12.2011
comment
@jon Механизмы состояния на стороне сервера (такие как сеансы php) обычно отслеживаются через cookie сеанса. Таким образом, в этих случаях файлы cookie сеанса используются в качестве основы для сеансов на стороне сервера. Они не альтернативы. - person troelskn; 18.12.2011

Файл cookie сеанса содержит уникальный идентификатор, который PHP генерирует при вызове session_start(), так что каждый клиент может быть связан с сеансом, и никакие два сеанса не могут иметь одинаковый идентификатор одновременно.

Файл cookie сеанса обычно уничтожается при закрытии окна браузера или может быть выполнен вручную с помощью session_destroy().

person Bojangles    schedule 17.12.2011
comment
Я думаю, что вопрос связан с тем, как браузер идентифицирует куки. Обратите внимание на ссылки IE. - person Jared Farrish; 18.12.2011

Из Википедии:

Старое определение: (17.12.2011)

Файл cookie сеанса создается, если при создании файла cookie не указана директива Expires.

Последнее определение:

файл cookie сеанса, также известный как файл cookie в памяти или временный файл cookie, существует только во временной памяти, пока пользователь перемещается по веб-сайту. < sup> [18] Обычно веб-браузеры удаляют сеанс файлы cookie, когда пользователь закрывает браузер. [19] В отличие от других файлов cookie, сеансовые файлы cookie не имеют назначенной даты истечения срока действия, что позволяет браузеру рассматривать их как файлы cookie сеанса.

person fge    schedule 17.12.2011

В PHP, когда вы используете session_start(), он создает сеанс, это создает файл cookie сеанса в клиентском браузере, PHP требует, чтобы клиент отправлял эту информацию обратно с каждым запросом, чтобы PHP мог сообщить идентификатор сеанса.

person Drahcir    schedule 17.12.2011
comment
Я не говорю, что вы ошибаетесь, однако я все еще могу использовать сеансы php и отключать файлы cookie первой стороны и не разрешать файлы cookie сеанса ... поэтому я предполагаю, что сеансы хранятся исключительно на стороне сервера? ... касаемо J - person jon; 18.12.2011
comment
@jon: Фактический сеанс хранится на стороне сервера, но есть ссылка на сеанс на стороне клиента. - person Drahcir; 18.12.2011
comment
Спасибо, Ричард ... это потому, что без cookie вы бы не знали, какой сеанс был для какого пользователя. - person jon; 18.12.2011