我讀到的關於cookie的一切都表明,將cookie的到期時間設置爲零應使其成爲「會話」cookie,瀏覽器在退出時會將其刪除。Web瀏覽器是否應該在退出時刪除所有`session'(expiry = 0)cookie?
http://www.cookiecentral.com/faq/說:
「......一般一個會話的時間長度,瀏覽器是開放的......」
http://php.net/manual/en/function.setcookie.php說:
「如果設置爲0或省略,cookie將在會話結束時(瀏覽器關閉時)過期。」
然而,一些在火狐試驗(3.0.8)表明:
- 的cookies設置爲會議和安全得到退出刪除設置爲會議
- 餅乾只做不是在退出時被刪除
Opera(9.64)的行爲如同I會期望,在退出時刪除會話cookie是否設置爲安全或不安全。
我希望能夠在我正在開發的網絡應用程序中使用此功能(將一個安全的cookie和一個不安全的cookie作爲「已登錄」的標誌並讓它們一起到期,時間或0爲一個會話),但它似乎即使它在標準,然後瀏覽器不足以依靠它:/
這是一個瀏覽器中的錯誤,預期的行爲,和/或是會話cookie的實際生命週期沒有在標準中真正定義?
請注意,「永不依賴」並不意味着您不能嘗試利用客戶端功能。設置cookie過期時間應該可以工作,但要確保服務器端代碼處理舊的無效cookie。 – dwc 2009-04-15 15:34:08