1. 程式人生 > 實用技巧 >Cookie個數限制及大小

Cookie個數限制及大小

>>> hot3.png

各瀏覽器之間對cookie的不同限制:


IE6.0 IE7.0/8.0 Opera FF Safari Chrome
cookie個數 每個域為20個 每個域為50個 每個域為30個 每個域為50個 沒有個數限制 每個域為53個
cookie大小 4095個位元組 4095個位元組 4096個位元組 4097個位元組 4097個位元組 4097個位元組

總之,在進行頁面cookie操作的時候,應該儘量保證cookie個數小於20個,總大小 小於4KB

雖知Cookie有限制,但未曾詳細瞭解。以下是我遇到的問題,使用者莫名其妙的未登入。

就像問卷調查一樣,每一道題都對應有一個或多個答案,有時,一套題太長,如300道題。

這麼長的題很有必要通過Cookie記錄下他答題的答案,方便他下次繼續答題。

原來的做法是,以題號為cookie的key,答案為cookie的value。

結果測試時,有一套長187道的題無法提交!詳細跟蹤居然是 未登入是(苦逼的是查了好久答題的邏輯)

以下是我根據問題進行的模擬:


答題結果是以Ajax方式提交,為了防止提交失敗,是在提交成功後才清除Cookie的! 而在Ajax提交前後,JSESSIONID竟然由 “ 63F2103B79B0AEB0307A9CA81D5188FF” 變為 “ A3C497EAA3EF6D56ED29C542328974C2



第一次請求是 的JSESSIONID=63F2103B79B0AEB0307A9CA81D5188FF


由於頁面上js的寫的Cookie個數過多(內容過長),把伺服器寫入Cookie中的JSESSIONID給衝沒了,而伺服器在下一次請求中沒能找到JSESSIONID,又重新分配JSESSIONID,故原Session失效,顯示未登入!

轉載於:https://my.oschina.net/gaollg/blog/71299