localStorage 与 sessionStorage 与 cookies

localStorage vs sessionStorage vs cookies

我在一个应用程序中工作,我需要在用户登录期间保留一些数据,我有这个问题,它们之间有什么区别 localStorage、sessionStorage、cookie ???

我在问我可以使用什么来持久化DOM中的一些数据,即使用户刷新页面,有人说:使用sessionStorage,或者localStorage,然后,有人想出了使用 ngCookies 的想法是因为它适用于所有浏览器,但是,我应该使用哪个?

localStoragesessionStorage 都是所谓的 WebStorages 和 [=37 的特性=].

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

sessionStorage 在会话进行时存储信息。通常直到用户关闭 tab/browser.

cookies 只是简单的 cookie,旧浏览器支持它,通常是使用上述 WebStorages 的框架的后备。

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

请记住,欧盟有一项法规要求网站告知其用户有关 cookie 的使用情况。我不知道这是否也适用于 WebStorages

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

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

本地存储对象: 使用 localStorage 对象存储的数据将一直保留到通过 JavaScript 明确删除或用户清除浏览器的缓存。

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

对于您的情况,我认为您考虑使用cookie或session,请。注意 cookie 每个服务器有 4K 大小限制。

除其他答案外,WebStorages 无法访问子域 and/or 父域。

Cookies 只保存 4kbs 的数据和过期时间。

localStorage 是永久性的 cookie,拥有 4 MB 的数据,当用户清除缓存时它将被删除

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

会话存储: 1.数据限制:5 MB 2. 每个http请求发送的数据:没有 3. window 或标签页关闭

后数据将被清除

我会说,如果数据不敏感,则使用 localstorage/sessionStorage,否则使用 cookie

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

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

Cookie - 存储必须随后续请求发送回服务器的数据。它的过期时间因类型而异,过期时间可以设置为 server-side 或 client-side(通常为 server-side)。 Cookies主要是为了server-side读取(也可以在client-side上读取),localStorage和sessionStorage只能在client-side上读取。大小必须小于 4KB。可以通过将该 cookie 的 httpOnly 标志设置为 true 来确保 cookie 的安全。这会阻止 client-side 访问该 cookie。