Cookie有數量和大小的限制

來源:互聯網
上載者:User

在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大小超過限制都被忽略,且永遠不會被設定。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.