转载:http://blog.csdn.net/xtzz92/article/details/51668644 (具体详情请看链接原文章)html
sessionStorage和localStorage是html5 Web storage API 提供的html5
Web Storage 支持事件通知机制,能够将数据更新的通知发送给监听者。api
Web Storage 的 api 接口使用更方便。浏览器
Web Storage带来的好处:缓存
共同点:服务器
数据都是保存在浏览器端,而且是同源的。cookie
不一样点:网络
cookie数据始终在同源的http请求中携带(即便不须要),即cookie在浏览器和服务器间来回传递。而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。cookie数据还有路径(path)的概念,能够限制cookie只属于某个路径下。session
存储大小限制也不一样:性能
cookie数据不能超过4k,同时由于每次http请求都会携带cookie,因此cookie只适合保存很小的数据,如会话标识。
sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,能够达到5M或更大。
数据有效期不一样:
sessionStorage:仅在当前浏览器窗口关闭前有效,天然也就不可能持久保持;
localStorage:始终有效,窗口或浏览器关闭也一直保存,所以用做持久数据;
cookie:只在设置的cookie过时时间以前一直有效,即便窗口或浏览器关闭。
做用域不一样:
sessionStorage不在不一样的浏览器窗口中共享,即便是同一个页面;sessionStorage是在同源的同学口(或tab)中,始终存在的数据。也就是说只要这个浏览器窗口没有关 闭,即便刷新页面或进入同源另外一页面,数据仍然存在。关闭窗口后,sessionStorage即被销毁。同时“独立”打开的不一样窗口,即便是同一页面,sessionStorage对象也是不一样 的。
localStorage 在全部同源窗口中都是共享的;
cookie 也是在全部同源窗口中都是共享的。