2010-11-09 5 views
29

Существует сеансовый файл cookie с истечением срока действия, который гласит: «В конце сеанса». Когда он истекает или будет жить вечно?Когда истекает срок действия файла cookie с истечением срока действия «В конце сеанса»?

+0

Это полностью зависит от пользовательского агента, то есть от браузера пользователя, но обычно это действительно будет, когда браузер закрыт. – caw

ответ

24

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

+0

Дело в том, что: - У меня есть две страницы, на которых используются разные файлы cookie. один истекает через 30 минут, а другой установлен в конце сеанса. Предположим, что оба файла cookie активны прямо сейчас, но я просматриваю страницу, для которой мы установили 30 минут, и я не перешел на другую страницу некоторое время. Что это значит? Это что-то вроде закрывающего браузера для страницы, которую я не просматривал? –

+2

Пожалуйста, простите меня, я не понимаю вопроса:/Страница A имеет cookie с истечением времени = 0, страница B имеет файл cookie с истечением времени = 30 минут. Это означает, что если вы закроете свой браузер, cookie A будет удален, но cookie B останется. Если вы не закроете браузер за 30 минут, cookie B истечет, но cookie A останется активным. Даже если cookie B истекает, когда вы просматриваете страницу B, в большинстве случаев ничего не произойдет, поскольку файл cookie, вероятно, будет воссоздан, как только вы перезагрузите страницу или посетите другую в том же месте. Надеюсь, что хотя бы часть этого ответа на ваш вопрос: | – mingos

4

Просто, чтобы исправить ответ mingos':

Если вы устанавливаете время истечения 0, печенье не будет создан вообще. Я протестировал это в Google Chrome по крайней мере, и когда он был установлен в 0, это было результатом. Печенье, я думаю, истекает сразу после создания.

Чтобы установить файл cookie, чтобы он заканчивался в конце сеанса просмотра, просто OMIT параметр expiration.

Пример:

Вместо:

document.cookie = "cookie_name=cookie_value; 0; path=/"; 

Просто написать:

document.cookie = "cookie_name=cookie_value; path=/"; 
21

Печенье, что 'истекает в конце сессии' истекает непредсказуемо с точки зрения пользователя!

На iOS с Safari они истекают при каждом переключении приложений!

На Android с Chrome они не истек, когда вы закрываете браузер.

На рабочем столе под управлением Chrome Chrome они заканчиваются при закрытии браузера. Это не когда вы закрываете вкладку своего сайта; когда вы закрываете все вкладки. Они также не истекают, если открываются другие окна браузера. Если пользователи запускают веб-приложения в виде окон, они могут даже не знать, что они окна браузера. Таким образом, жизнь вашего печенья зависит от того, что пользователь делает с каким-то явно несвязанным приложением.

+0

Это не мое наблюдение на iOS (10.2.1) – Myster

+0

@Myster спасибо за наблюдение. Мои наблюдения были из более старой версии. Что делает iOS 10.2.1? – James

+0

Я просто хочу добавить, что он не истекает на Chrome для Mac. хотя я установил его как «продолжить, где вы ушли». но я уже закрыл вкладку браузера для этого домена, а затем перезапустил Chrome. файл cookie сеанса, который я установил, все еще существует. –

Смежные вопросы