2012-04-04 134 views
5

當我重新啓動我的android設備(kindle fire)或殺死一個應用程序時,似乎瀏覽器或WebView會話cookie不會被刪除。這似乎與Windows或MacOS上的瀏覽器行爲完全不同,因爲如果您終止瀏覽器應用程序,「會話」Cookie不見了。瀏覽器進程重新啓動後,只有「持久性」Cookie應該保留。 要澄清,這裏'會話cookie'的含義是由服務器設置的cookie沒有到期日期,在響應中使用http標頭,如: Set-Cookie:mycookie = ifmr0846qcsdpeqqkgvuqmc5u7;路徑=/ 由於沒有指定過期日期,因此瀏覽器通常不會保留這些日期,根據我的理解,將它們保持活動狀態直到過程終止。通常會話ID是使用這種類型的cookie設置的。android webview或瀏覽器不刪除設備重啓時的會話cookie

我確信那些在設備重啓或應用程序重啓時不會被刪除,因爲如果我登錄到我的網站,建立一個會話(使用會話ID的非持久/會話cookie,在這種情況下命名爲PHPSESSID ),然後重新啓動設備並打開瀏覽器或WebView到相同的URL,我仍然登錄,這意味着瀏覽器仍然發送相同的PHPSESSID Cookie,該設備在設備重啓前由服務器設置。

任何人都可以解釋/確認這種行爲爲Android WebViews或瀏覽器?他們如何精確管理會話和永久性cookies?

感謝。

回答

-1

您是對的,會話cookie不會自動在WebView的 生命週期中過期。如果您發現此問題,您可以 始終清空您的所有Cookie,或用空白值明確覆蓋您的會話cookie 。

參考:Lifecycle of a session cookie in an Android WebView/CookieSyncManager

清除會話使用

CookieManager.getInstance().removeSessionCookie(); 
CookieManager.getInstance().removeAllCookie(); 
相關問題