gpt4 book ai didi

javascript - $window.sessionStorage 与 $cookieStore

转载 作者:可可西里 更新时间:2023-11-01 01:37:02 26 4
gpt4 key购买 nike

使用 $cookieStore 和 &window.sessionStorage 有什么区别?是否有时应该使用一个而不是另一个?安全问题?

这是我目前所知道的:

AngularJS 文档声明 $cookieStore 服务由“ session cookie”(https://docs.angularjs.org/api/ngCookies/service/ $cookieStore)支持。因此,使用 $cookieStore 存储的信息似乎与使用它的窗口/选项卡相关联。在 $cookieStore 的代码中使用神秘的 $browser 服务证实了这一点:https://github.com/angular/angular.js/blob/master/src/ngCookies/cookies.js#L125 .

但是,由于 $browser 是一项内部服务并且可能会发生变化,我看不到它是如何存储数据的,看看它是否类似于 sessionStorage。

相同的浏览器/标签/窗口范围似乎适用于 $window.sessionStorage ( Scope of sessionStorage and localStorage )。

最佳答案

$cookieStore 使用 session cookie 意味着数据作为 session 范围内的 cookie 持久化,即不持久。 cookie 的范围仅限于它注册的特定域,但可以在子域之间共享。 cookie 存储的重要之处在于,对于对该域的任何请求,这些 cookie 值将被发送到服务器。它将在同一域的同一 session 中的窗口和选项卡之间共享。

$window.sessionStorage 只是访问 window.sessionStorage,这与 Angular 无关。通过 $window 访问它只会让您能够使用 $window 的模拟版本更轻松地进行测试。 session 存储的范围是当前窗口,因此与 cookie 不同,如果您打开一个新选项卡指向完全相同的 URL,它将是一个新的 sessionStorage 对象。也有比cookies更多的存储空间。 cookie 限制为 4K,sessionStorage 可能因浏览器而异,但通常在 5MB 左右。

还有 window.localStorage(或 $window.localStorage),它与 sessionStorage 基本相同,只是它的范围是按域划分的(两个选项卡可以共享相同的数据 - 甚至还有一个存储事件,因此您可以找出另一个选项卡更改它)并在您关闭浏览器时持续存在。

关于javascript - $window.sessionStorage 与 $cookieStore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24069990/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com