一、瀏覽器允許每個域名所包含的cookie數
Microsoft指出InternetExplorer8增加cookie限制為每個域名50個,但IE7似乎也允許每個域名50個cookie。
Firefox每個域名cookie限制為50個。
Opera每個域名cookie限制為30個。
Safari/WebKit似乎沒有cookie限制。但是如果cookie很多,則會使header大小超過服務器的處理的限制,會導致錯誤發生。
二、當很多的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大小超過限制都被忽略,且永遠不會被設置。
某網站的實測結果 http://www.ruslog.com/tools/cookies.html
Browser | Max Cookies | Max Size Per Cookie | Max Size Per Domain1 | Usage2 |
---|---|---|---|---|
Chrome 4 | ||||
Chrome 5 | 70 | 4096 bytes | NA | |
Chrome 6 | 70 | 4096 bytes | NA | |
Chrome 7 | 70 | 4096 bytes | NA | |
Chrome 8 | 180 | 4096 bytes | NA | 0.6% |
Chrome 9 | 7.7% | |||
Chrome 10 | 180 | 4096 bytes | NA | 14.8% |
Chrome 11 | 0.8% | |||
Chrome 12 | 0.1% | |||
FireFox 2 | 50 | 4097 characters | NA | |
FireFox 3 | 50 | 4097 characters | NA | 36.7% |
FireFox 4 | 50 | 4098 characters | NA | 5.2% |
IE 6 | 50 | 4096 characters | 4096 characters | 3.0% |
IE 7 | 50 | 4095 characters | 4095 characters | 5.4% |
IE 8 | 50 | 5117 characters | 10234 characters | 16.3% |
IE 9 | 1.1% | |||
Opera 8 | 30 | 4096 bytes | 4096 bytes | |
Opera 9 | 30 | 4096 bytes | 4096 bytes | |
Opera 10 | 0.2% | |||
Opera 11 | 60 | 4096 bytes | 4096 bytes | 1.9% |
Safari 3 | 0.1% | |||
Safari 4 | 0.3% | |||
Safari 5 | 600 | 4096 bytes | 4096 bytes | 3.6% |
Safari on mac3 | ? | ? | ? |
但是都找不到 IE9 的限制..