cookies,sessionStorage和localStorage的区别
cookies,sessionStorage和localStorage
- cookie是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)
- cookie数据始终在同源的http请求中携带(即使不需要),记会在浏览器和服务器间来回传递
- sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存
生命周期
-
cookie:可设置失效时间,没有设置的话,默认是关闭浏览器后失效
-
localStorage:除非被手动清除,否则将会永久保存。
-
sessionStorage: 仅在当前网页会话下有效,关闭页面或浏览器后就会被清除。
存储大小
- cookie数据大小不能超过4k
- sessionStorage和localStorage虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大
http请求
-
cookie:每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题
-
localStorage和sessionStorage:仅在客户端(即浏览器)中保存,不参与和服务器的通信
易用性
-
cookie:需要程序员自己封装,源生的Cookie接口不友好
-
localStorage和sessionStorage:源生接口可以接受,亦可再次封装来对Object和Array有更好的支持