应用场景的区别
cookie用于记录用户登录状态,从而实现免登录功能.
sessionStorage和localStorage的作用主要是浏览器本地存储,它们的用法主要有两
- (1)例如京东:在用户不登录的情况下,可以将商品放到购物车(保存到本地)
- (2)例如百度脑图:在用户断网的情况下,可以将用户的操作数据保存到本地,等用户连上网就上传到服务器
- 这种方式称之为离线缓存:只有用户离线才会保存到本地,如果在线则不保存,并且本地数据一旦成功保存到服务器之后就会删除
(1),数据传递角度
cookie在浏览器和服务器来回传递
sessionStorage和localStorage不会自动把数据发送给服务器,仅在浏览器本地保存.
(2)大小限制的区别
cookie数据不能超过4k,sessionStorage和localStorage可以达到5M或者更多.
(3)有效期
cookie的有效期服务器会验证,如果过期服务器不识别,认为是无效cookie.
sessionStorage和localStorage没有有效期概念,它们只保存在本地.
(4)作用域区别
localStorage:又称为本地存储,始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据
sessionStorage:又称为会话存储,仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持
cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭,它的作用域是由服务器设置的有效期决定的.