瀏覽器允許每個域名所包含的cookie數:

   IE6-最大限制20條,IE7+允許每個域名50個cookie。Firefox每個域名cookie限製為50個。Opera每個域名cookie限製為30個。Safari/WebKit和chrome沒有cookie限制。但是如果cookie很多,則會使header大小超過服務器的處理的限制,會導致錯誤發生。
且所有瀏覽器限制每個cookie長度不能超過4KB,否則會被截掉。
所以:現代瀏覽器cookie個數不要超過50條,大小不能超過4KB。

安全性問題

客服端每次訪問服務端都會攜帶cookie,cookie容易被人攔截,所有的session信息被公開。即使加密也與事無補,因為攔截者並不需要知道cookie的意義,他只要原樣轉發cookie就可以達到目的了。所以:cookie不要保存機密信息,讓服務端來確保用戶信息安全。

使用場景

cookie每次隨HTTP請求一起發送,浪費寬帶,移動端推薦使用localStorage。

關於cookie的編碼

原來的cookie編碼大多使用escape和unescape進行編解碼,這個編解碼針對普通字母和数字以及*,+,-,.,/,@,_以外的其他字符,可以說是比較簡單粗暴的。後來ECMAScript v3(即ES3)已從標準中刪除了escape進行編碼,分解成了encodeURI(針對URL風格進行編碼)和 encodeURIComponent(針對URL風格編碼加上URI 組件的標點符號進行編碼,比encodeURI要編碼的字符更多)。一般來說cookie編碼只需要能對”=”和”;”進行編碼即可。
所以在不能使用escape的情況下使用encodeURIComponent編碼,decodeURIComponent解碼。