簡體   English   中英

$ window.sessionStorage vs $ cookieStore

[英]$window.sessionStorage vs $cookieStore

使用$ cookieStore和&window.sessionStorage有什么區別? 是否有時候應該使用另一個? 安全問題?

這是我目前所知道的:

AngularJS文檔聲明$ cookieStore服務由“會話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( sessionStorage和localStorage的范圍 )。

使用會話cookie的$ cookieStore意味着數據被保存為作用於會話的cookie,即不是持久的。 Cookie的范圍限定在其注冊的特定域中,但可以在子域之間共享。 關於cookie存儲的重要事項是,對於對該域的任何請求,這些cookie值將被發送到服務器。 它將在同一域中同一會話中的窗口和選項卡之間共享。

$ window.sessionStorage只是訪問window.sessionStorage,它與Angular無關。 通過$ window訪問它只是讓你能夠使用模擬版本的$ window更輕松地進行測試。 會話存儲的范圍限定為當前窗口,因此與cookie不同,如果您打開一個新選項卡到完全相同的URL,它將是一個新的sessionStorage對象。 存儲空間比cookie還多。 Cookie限制為4K,sessionStorage可能因瀏覽器而異,但通常約為5MB。

還有window.localStorage(或$ window.localStorage),它與sessionStorage基本相同,除了它是由域限定的(兩個標簽可以共享相同的數據 - 甚至還有一個存儲事件,所以你可以找到另一個標簽何時更改它)並在您關閉瀏覽器時保持不變。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM