Сессионный файл cookie - это файл cookie без истечения срока действия.
Обработка файлов cookie сеансов зависит от браузера и версии браузера, но обычно куки, которые не имеют срока годности, удаляются при закрытии последнего экземпляра этого браузера (lifetime = runtime of the browser).
Важно отметить, что сеанс на стороне сервера, соответствующий значению cookie, имеет полностью независимое время жизни, определенное на сервере. HTTP - протокол без установления соединения, поэтому, когда ваш браузер не находится в середине транзакции, серверная сторона понятия не имеет, остаетесь ли вы там или нет. Это означает, что сервер должен поддерживать сеанс на стороне сервера до тех пор, пока он не покажет, что он слишком длинный, и в это время он удалит сеанс на стороне сервера, как правило, с помощью тайм-аута (так что время жизни = тайм-аут на стороне сервера).
Вы можете установить одинаковые файлы cookie в другом браузере и отправить те же данные (в основном файлы cookie), которые был отправлен первым браузером, и пока серверный тайм-аут не был достигнут, сервер предоставит вам доступ к серверный сеанс таким же образом. Когда люди делают это с вашими кукисами, это называется сессионным захватом.
Вот код JavaScript, устанавливающий «сессионный» файл cookie, который является только файлом cookie, где значение «Истекает» не установлено.
document.cookie="COOKIENAME=cookievalue";
Вот JavaScript, который устанавливает куки с определенного времени истечения, а это означает, что браузер получает указание прекратить передачу его исходящих запросов после того времени:
document.cookie="COOKIENAME=cookievalue; expires=Fri, 31 Dec 9999 00:00:01 GMT";
В данных куки, отправленных на сервер не включает метаданные, такие как время истечения; сервер видит только пары ключ = значение. Данные об истечении срока действия предназначены только для просмотра браузером. Установки печенья с любым из указанных выше способов заставят браузер, чтобы отправить что куки на сервер таким образом:
Cookie: COOKIENAME=cookievalue
Сервер изначально устанавливает печенье с или без срока годности, но он не имеет ни малейшего представления ли который был изменен, и это не волнует. Нет никакой функциональной разницы между установленным файлом cookie, который истекает в следующем месяце, и cookie сеанса на компьютере, который остается в браузере, работающем до следующего месяца.
Когда идентификаторы сеансов хранятся в файлах cookie, они сохраняются между сеансами браузера. Файл cookie будет отправлен с первоначальным запросом и восстановлен сеанс, если, конечно, не будут выполнены другие условия, о которых вы упоминаете. – pharalia