2013-02-01 45 views
4

正在使用下面的代碼設置的Cookie,Cookie到期與服務器的會話到期時間有關?

document.cookie = name+"="+value+ ";expires="+"domain=xyz.com;path=/";

和會話過期時間在我的服務器設定爲15分鐘。如果客戶在15分鐘後閒置了15分鐘, ,會話將被銷燬。這會破壞我的Cookie中設置的值嗎?

我的意思是,在document.cookie中設置的cookie過期設置與服務器中設置的cookie過期有關?

回答

1

我認爲答案真的取決於瀏覽器如何處理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

+0

檢入IE8,FF16,Chrome24。在服務器中的會話時間到期時,不會過期Cookie數據。它可以發生在較低的版本? –

0

如果cookie被破壞,那麼數據也會被desroyed。