(1)如图所示,Cookie仅能存储kb级很少的信息,而Local Storage和Session Storage都能存储mb级的信息。
(2)Cookie支持一些老的浏览器。
(3)Cookie和Local Storage在浏览器的任何窗口中都可以使用,是多页面共享的,如果你新建了两个标签页(tab),你可以在一个标签页中在cookie中储存了数据,是可以在另一个页面中使用的。而Session只能在单个标签页中使用。
(4)到期(过期)时间不同。Cookie需要手动设置,一般会设置一个有限的到期时间,Local除非用户主动删除,否则存储在本地永不过期,Session是临时的,关闭标签页之后就到期。
(5)Local和Session只存储在浏览器中。Cookie不仅保存在浏览器中,当用户向服务器发送请求(request)时,Cookie会被和请求一起发送到服务器,这也是它的容量被设计的尽可能小的原因,Cookie太多也会减慢向服务器发送/传回请求的速度。
(6)Cookie会随着发送请求(request)传输到服务器,这个特性有时也很有用,当我们验证用户权限的时候,可以通过Cookie把信息发到服务器,或者从服务器发到客户端。
我们可以在浏览器中点击F12之后的Application中看到这三种方式存储的数据:
参考资料:
JavaScript Cookies vs Local Storage vs Session