cookie:大小4k,一般由服务器生成,可设置失效时间,关闭浏览器后失效,与服务器通信时:每次都会携带HTTP头中,如果使用cookie保存过多数据会带来性能问题
localhostStorage:大小5M,只要不手动删除,存储的是永久数据,与服务器通信时: 仅在客户端(即浏览器)中保存,不参与和服务器的通信。
sessionStorage:大小5M,存放临时数据,仅在当前会话有效,关闭页面或浏览器后被清除,与服务器通信时: 仅在客户端(即浏览器)中保存,不参与和服务器的通信。
其中, 易用性:
Cookie 需要程序员自己来封装,原生的cookie接口不够友好
localStorage 和 sessionStorage 原生接口可以接受,可以封装来对Object和Array有更好的支持。并且,不能夸浏览器,可以跨窗口
应用场景
因为考虑到每个HTTP请求都会带着Cookie的信息,所以Cookie当然能是精简就精简力,比较常用的一个应用场景就是判断用户是否登陆,针对登陆过的用户服务端就在它登陆时往Cookie中祝福一段加密过的唯一识别单一用户的辨识码,下次只要读取这个值就可以判断当前用户是否登陆。曾经还使用Cookie来保存用户在电商网站上的购物车信息,如今有来localStorage,这一切问题变得越来越轻松。