相同:不管sessionStorage localStorage 还是 cookie 都是存储用户数据的。
不同:
1、cookie的存储空间小, cookie的数据是会通过http请求带到服务器的(在浏览器和服务器间来回传递),同一域名下的所有请求都会带上它。可以想象,如果cookie很大是会影响性能的。sessionStorage、 localStorage存储空间更大,有更多丰富易用接口,及独立的存储空间,且sessionStorage、 localStorage 是不会通过http请求的,不会自动把数据发给服务器,仅在本地保存,操作它的方法一般是js。
2、cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭; localStorage长期存储数据,浏览器关闭后数据不丢失;sessionStorage 用于本地存储一个会话中的数据,会话结束后/浏览器关闭后数据消失。
3、localStorage sessionStorage 都是html5新加的属性;cookie是之前就有的属性
4、localStorage 、sessionStorage 和 cookie都遵循 ‘同源‘ 的原则。就是域名必须一样。cookie是涉及到跨域的问题。不同浏览器下用不同的方法是能让cookie跨域的。localStorage sessionStorage 就非常严格,子域名都不能跨。http和https也不能跨。
5、作用域不同,sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;localStorage 在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的。
时间: 2024-10-09 21:15:19