三者都用于存儲數(shù)據(jù),但是特性不同,使用時存在差異。
cookie會伴隨http請求發(fā)送到服務(wù)器;
localStorage和sessionStorage不會發(fā)送到服務(wù)器。
注:以下cookie ,localStorage,sessionStorage分別用a,b,c代替。
1.數(shù)據(jù)的生命周期
a->一般由服務(wù)器生成,可以設(shè)置失效時間,如果是在瀏覽器端生成,默認關(guān)閉瀏覽器后實效。
b->除非被清楚,否則永久保存
c->僅在當(dāng)前會話下有效,關(guān)閉網(wǎng)頁或者瀏覽器后不再保存
2.存放數(shù)據(jù)大小
a->較小,4k左右
b->一般5MB大小
c->一般5MB大小
3.與服務(wù)器端通信
a->每次都會攜帶在http頭中,如果使用cookie保存過多數(shù)據(jù)會帶來性能問題
b->僅在客戶端(瀏覽器)中保存,不參與和服務(wù)器的通信
c->同b
4.易用性
a->需要在程序中封裝,原生cookie接口不友好
b->原生接口可以接受,也可再次封裝來對Object和Array由更好的支持
c->同b