三者都用于存储数据,但是特性不同,使用时存在差异。
cookie会伴随http请求发送到服务器;
localStorage和sessionStorage不会发送到服务器。
注:以下cookie ,localStorage,sessionStorage分别用a,b,c代替。
1.数据的生命周期
a->一般由服务器生成,可以设置失效时间,如果是在浏览器端生成,默认关闭浏览器后实效。
b->除非被清楚,否则永久保存
c->仅在当前会话下有效,关闭网页或者浏览器后不再保存
2.存放数据大小
a->较小,4k左右
b->一般5MB大小
c->一般5MB大小
3.与服务器端通信
a->每次都会携带在http头中,如果使用cookie保存过多数据会带来性能问题
b->仅在客户端(浏览器)中保存,不参与和服务器的通信
c->同b
4.易用性
a->需要在程序中封装,原生cookie接口不友好
b->原生接口可以接受,也可再次封装来对Object和Array由更好的支持
c->同b