Все, что я читаю о куки, говорит о том, что установка времени истечения куки на ноль должно сделать его "сеансовым" куки, который браузер затем удалит при выходе.
http://www.cookiecentral.com/faq/ говорит, что:
"... обычно сеанс - это отрезок времени, в течение которого браузер открыт для ..."
http://php.net/manual/en/function.setcookie.php говорит:
"Если установлено значение 0 или опущено, срок действия файла cookie истекает в конце сеанса (при закрытии браузера)."
Однако некоторые эксперименты в Firefox (3.0.8) показывают, что:
- куки-файлы, установленные как сеанс и secure, удаляются при выходе
- файлы cookie, установленные только для сеанса, не удаляются при выходе
Opera (9.64) ведет себя так, как я и ожидал, удаляя сеансовые куки при выходе, независимо от того, установлена ли она как безопасная или нет.
Я хотел иметь возможность полагаться на это в веб-приложении, над которым я работаю (наличие защищенного cookie-файла и незащищенного cookie-файла в качестве флага «залогинен» и истечение срока их действия либо в режиме реального времени или 0 для сеанса), но кажется, что даже если он в стандарте, браузеры не достаточно последовательны, чтобы полагаться на него: /
Является ли это ошибкой в браузере, ожидаемым поведением и / или фактическим временем жизни сессионных файлов cookie, которое не определено в стандарте?