在Cookie中儲存使用者瀏覽資料時應當注意,Cookie有個數和大小的限制,大小一般是4k,超過這個大小會有問題,為了不超過可以有如下的辦法
1、key用短字元
2、cookie中儲存id,而不是名稱
3、壓縮一下
===============================================
一、瀏覽器允許每個網域名稱所包含的cookie數:
Microsoft指出InternetExplorer8增加cookie限制為每個網域名稱50個,但IE7似乎也允許每個網域名稱50個cookie。
Firefox每個網域名稱cookie限制為50個。
Opera每個網域名稱cookie限制為30個。
Safari/WebKit貌似沒有cookie限制。但是如果cookie很多,則會使header大小超過伺服器的處理的限制,會導致錯誤發生。
註:“每個網域名稱cookie限制為20個”將不再正確!
二、當很多的cookie被設定,瀏覽器如何去響應。
除Safari(可以設定全部cookie,不管數量多少),有兩個方法:
最少最近使用(leastrecentlyused(LRU))的方法:當Cookie已達到限額,自動踢除最老的Cookie,以使給最新的Cookie一些空間。InternetExplorer和Opera使用此方法。
Firefox很獨特:雖然最後的設定的Cookie始終保留,但似乎隨機決定哪些cookie被保留。似乎沒有任何計劃(建議:在Firefox中不要超過Cookie限制)。
三、不同瀏覽器間cookie總大小也不同:
Firefox和Safari允許cookie多達4097個位元組,包括名(name)、值(value)和等號。
Opera允許cookie多達4096個位元組,包括:名(name)、值(value)和等號。
InternetExplorer允許cookie多達4095個位元組,包括:名(name)、值(value)和等號。
註:多位元組字元計算為兩個位元組。在所有瀏覽器中,任何cookie大小超過限制都被忽略,且永遠不會被設定。