cookie使用要點

存儲類型

他們均只能存儲字符串類型的對象(雖然規(guī)范中可以存儲其他原生類型的對象,但是目前為止沒有瀏覽器對其進(jìn)行實現(xiàn))。

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

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

安全性問題

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

使用場景

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

關(guān)于cookie的編碼

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

生命周期

如果不設(shè)置過期時間,那么cookie存儲在內(nèi)存里,如果通過cookie.setMaxAge(num)設(shè)置了過期時間,那么瀏覽器就會把cookie保存到硬盤上,關(guān)閉后再次打開瀏覽器,這些cookie依然有效直到超過設(shè)定的過期時間。存儲在硬盤上的cookie可以在不同的瀏覽器進(jìn)程間共享,比如兩個IE窗口。而對于保存在內(nèi)存的cookie,不同的瀏覽器有不同的處理方式;
cookie.setmaxage設(shè)置為0時,會馬上在瀏覽器上刪除指定的cookie,
cookie.setmaxage設(shè)置為-1時,代表關(guān)閉當(dāng)前瀏覽器即失效。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 什么是 Cookie “cookie 是存儲于訪問者的計算機(jī)中的變量。每當(dāng)同一臺計算機(jī)通過瀏覽器請求某個頁面時,就...
    恩德_b0c2閱讀 529評論 0 3
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • 我們主要關(guān)注的是cookie的特性,以及如何使用。所以,先不講枯燥的理論知識,相信這些理論大家從網(wǎng)上隨隨便便就能找...
    絢爛的煙火閱讀 3,292評論 0 3
  • 越過大漠,是繁華的都城,空著去的駱駝最后總是滿載而歸。而這一來一去的差價,是小商人謀生的利潤。 靠...
    繁花衍清秋閱讀 543評論 0 0
  • 作為一個網(wǎng)癮少女,不得不說網(wǎng)絡(luò)世界是很迷人的,那些尋常視野里景色,通過移動設(shè)備的記錄帶了人的主觀色彩,每個人拍的照...
    第二個甜筒閱讀 1,753評論 17 55

友情鏈接更多精彩內(nèi)容