sessionStorage、localStorage和cookie的区别 web
共同点:都是保存在浏览器端、且同源的
区别:
一、cookie数据始终在同源的http请求中携带(即便不须要),即cookie在浏览器和服务器间来回传递,而sessionStorage和localStorage不会自动把数据发送给服务器,仅在本地保存。cookie数据还有路径(path)的概念,能够限制cookie只属于某个路径下
二、存储大小限制也不一样,cookie数据不能超过4K,同时由于每次http请求都会携带cookie、因此cookie只适合保存很小的数据,如会话标识。sessionStorage和localStorage虽然也有存储大小的限制,但比cookie大得多,能够达到5M或更大
三、数据有效期不一样,sessionStorage:仅在当前浏览器窗口关闭以前有效;localStorage:始终有效,窗口或浏览器关闭也一直保存,所以用做持久数据;cookie:只在设置的cookie过时时间以前有效,即便窗口关闭或浏览器关闭
四、做用域不一样,sessionStorage不在不一样的浏览器窗口中共享,即便是同一个页面;localstorage在全部同源窗口中都是共享的;cookie也是在全部同源窗口中都是共享的
五、web Storage支持事件通知机制,能够将数据更新的通知发送给监听者
六、web Storage的api接口使用更方便api
项目实例:浏览器
同一个帐号登录,菜单权限根据登录接口返回的数据进行判断,并将该数据存储在sessionStorage中,以后,用户若是将登录后的首页连接复制,在不一样窗口打开,sessionStorage的数据不会跟着带过去,菜单显示就会出现问题服务器