LocalStorage 与 sessionStorage 与 cookie

我工作在一个应用程序,我需要在用户登录期间保持一些数据,我有这个问题,有什么区别 本地存储,会话存储,cookie?

我在问,为了在 DOM 中保存一些数据,即使用户刷新页面,我可以使用什么? 有人说: 使用 sessionStorage 或 localStorage,然后,有人提出了使用 饼干的想法,因为它在每个浏览器中都可以工作,但是,我应该使用哪个?

85850 次浏览

LocalStorage 存储都是所谓的 网上存储和 HTML5的特性。

LocalStorage 存储信息,只要用户不删除它们。

SessionStorage 存储会话期间的信息,通常直到用户关闭选项卡/浏览器。

Cookies 仅仅是 cookies,旧的浏览器支持它,通常是使用上面提到的 网上存储的框架的备用方案。

相比之下,Cookie 可以存储的信息比 WebStorages 少得多,而且 WebStorages 中的信息永远不会传输到服务器。

请记住,欧盟有一项规定,要求网站通知他们的用户有关使用 Cookie。我不知道这是否也适用于 WebStorages

SessionStorage 对象: SessionStorage 对象只为会话存储数据,这意味着在关闭浏览器(或选项卡)之前数据一直存储。当文件在本地运行时,它不可用。

存储在 sessionStorage 对象中的数据只能从最初存储数据的页面访问; 因此这不符合您的要求

LocalStorage 对象: 使用 localStorage 对象存储的数据将持久存储,直到通过 JavaScript 专门删除它或用户清除浏览器的缓存。

存储在 localStorage 对象中的数据只能从最初存储数据的域访问。

对于您的情况,我认为您应该考虑使用 Cookie 或会话,请注意 Cookie 在每个服务器上有4K 大小的限制。

除了其他答案,WebStorages 不能访问子域和/或父域。

Cookie 只是保存4kbs 的数据和作为过期时间。

LocalStorage 是永久性 Cookie 保存4MB 数据,当用户清除缓存时将删除这些数据

本地储存: 1. 数据限制: 5MB 2. 每个 http 请求发送的数据: 否

储存时间: 1. 数据限制: 5MB 2. 每个 http 请求发送的数据: 否 3. 一旦关闭窗口或选项卡,数据将被清除

我会说,如果数据是非敏感的,那么使用 localStorage/sessionStorage

LocalStorage -存储没有过期日期的数据,只能通过 JavaScript 清除,或者清除浏览器缓存/本地存储数据。储存限制是三者中最大的

SessionStorage -sessionStorage 对象只为一个会话存储数据,这意味着在关闭浏览器(或选项卡)之前数据一直存储。数据永远不会传输到服务器。存储限制大于 cookie (至少5MB)。

Cookie -存储必须随后的请求发送回服务器的数据。它的过期时间根据类型而变化,过期时间可以从服务器端或客户端(通常从服务器端)设置。Cookie 主要用于服务器端读取(也可以在客户端读取) ,localStorage 和 sessionStorage 只能在客户端读取。大小必须小于4KB。Cookie 可以通过将该 Cookie 的 httpOnly 标志设置为 true 来实现安全性。这可以防止客户端访问该 cookie。