正在使用下面的代碼設置的Cookie,Cookie到期與服務器的會話到期時間有關?
document.cookie = name+"="+value+ ";expires="+"domain=xyz.com;path=/";
和會話過期時間在我的服務器設定爲15分鐘。如果客戶在15分鐘後閒置了15分鐘, ,會話將被銷燬。這會破壞我的Cookie中設置的值嗎?
我的意思是,在document.cookie
中設置的cookie過期設置與服務器中設置的cookie過期有關?
正在使用下面的代碼設置的Cookie,Cookie到期與服務器的會話到期時間有關?
document.cookie = name+"="+value+ ";expires="+"domain=xyz.com;path=/";
和會話過期時間在我的服務器設定爲15分鐘。如果客戶在15分鐘後閒置了15分鐘, ,會話將被銷燬。這會破壞我的Cookie中設置的值嗎?
我的意思是,在document.cookie
中設置的cookie過期設置與服務器中設置的cookie過期有關?
我認爲答案真的取決於瀏覽器如何處理cookie到期。
當服務器發送HTTP響應時,客戶端(瀏覽器)將在響應中查找任何Set-Cookie
標頭。如果找到,它將覆蓋存儲在瀏覽器中的cookie。
從Persistent Client State HTTP Cookies報價:
Expires頭可以讓客戶知道何時可以安全清除映射,但這樣做不需要客戶端。如果cookie的數量超過其內部限制,則客戶也可以在其到期日期到達之前刪除cookie。
此外,檢查:
如果一個CGI腳本希望刪除一個cookie,它可以返回具有相同名字的cookie這樣做,以及到期時間,這是在過去。路徑和名稱必須完全匹配,以便過期的cookie替換有效的cookie。這個要求使得除了cookie的創建者之外的任何人都難以刪除cookie。
這意味着如果網絡服務器自動向您發送了一個包含Set-Cookie
標題的響應,它將覆蓋您手動設置的cookie。
相關:
http://www.superuser.com/questions/356265/what-do-browsers-do-with-expired-cookies
http://www.stackoverflow.com/questions/1635909/how-do-i-remove-delete-expire-a-cookie-immediately
如果cookie被破壞,那麼數據也會被desroyed。
檢入IE8,FF16,Chrome24。在服務器中的會話時間到期時,不會過期Cookie數據。它可以發生在較低的版本? –