共同点:
都是保存在浏览器端,并且是同源的
不同点:
Cookie:
Cookie指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据
是由 Web 服务器保存在用户浏览器上的小文本文件,它可以包含有关用户的信息,是用户获取、交流、传递信息的主要场所之一,无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息。
cookie 只在设置的cookie 过期时间之前一直有效,即使窗口或浏览器关闭。
而sessionStorage 和localStorage 不会自动把数据发给服务器,仅在本地保存。
例如:将用户id 存储于一个cookie 内,这样当用户下次访问该页面时就不需要重新登录了,现在很多论坛和社区都提供这样的功能。
cookie 还可以设置过期时间,当超过时间期限后,cookie 就会自动消失。
因此,系统往往可以提示用户保持登录状态的时间:常见选项有一个月、三个 月、一年等。
跟踪用户行为。例如一个天气预报网站,能够根据用户选择的地区显示当地的天气情况。如果每次都需要选择所在地是烦琐的,当利用了 cookie 后就会显得很人性化了,系统能够记住上一次访问的地区,当下次再打开该页面时,它就会自动显示上次用户所在地区的天气情况。因为一切都是在后 台完成,所以这样的页面就像为某个用户所定制的一
sessionStorage_34">sessionStorage:
sessionStorage存储的数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。
localStorage:
主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。
始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;
localStorage 在所有同源窗口中都是共享的;