Web儲存機制

2021-07-22 09:35:19 字數 1379 閱讀 2790

web storagede 的兩個主要目標是:

(1)提供一種在cookie之外的儲存會話資料的途徑;

(2)提供一種儲存大量可以跨會話存在的資料的機制。

1.storage型別

storage型別提供最大的儲存空間(因瀏覽器而異)來儲存名值對。storage的例項與其他物件類似,有如下方法:

clear():刪除所有值;

getitem(name):根據指定的名字name獲取對應的值;

key(index):獲取index位置處的值得名字;

removeitem(name):刪除由name指定的名值對;

setitem(name,value):為指定的name設定乙個對應的值。

2.sessionstorage物件

sessionstorage物件儲存特定於某個會話的資料,也就是該資料只保持到瀏覽器關閉。這個物件就像會話cookie,也會在瀏覽器關閉後消失。儲存在sessionstorage中的資料可以跨越頁面重新整理而存在,並且如果瀏覽器支援,瀏覽器崩潰並重啟之後依然可用(ff和webkit都支援,ie不支援)。

由於sessionstorage物件其實是storage的乙個例項,所以可以使用setitem()或者直接設定新的屬性來儲存資料,方法如下:

//使用方法來儲存資料

sessionstorage.setitem("name","yao");

//使用屬性來儲存資料

sesstionstorage.hello="world";

sessionstorage中有資料時,可以使用getitem()或者通過直接訪問屬性名來獲取資料。方法如下:

//使用方法來讀取資料

var name = sesstionstorage.getitem("name");

//使用屬性來讀取資料

var hello = sessionstorage.hello;

3.localstorage物件

localstorage物件作為持久儲存客戶端資料的方案取代了globalstorage。要訪問localstorage物件,頁面必須來自同乙個網域名稱(子網域名稱無效),使用同一種協議,在同乙個埠。

由於localstorage是storage的例項,所以可以像使用sessionstorage一樣來使用它:

//使用方法來儲存資料

localstorage.setitem("name","yao");

//使用屬性來儲存資料

localstorage.hello="world";

//使用方法來讀取資料

var name = localstorage.getitem("name");

//使用屬性來讀取資料

var hello = localstorage.hello;

web認證機制

以前對認證這方面的認識一直不太深刻,不清楚為什麼需要token這種認證,為什麼不簡單使用session儲存使用者登入資訊等。最近讀了幾篇大牛的部落格才對認證機制方面有了進一步了解。這種認證直接順應http協議的無狀態性,每次執行業務的時候,都暴力地附帶username與password引數,並將其傳...

web認證機制

以前對認證這方面的認識一直不太深刻,不清楚為什麼需要token這種認證,為什麼不簡單使用session儲存使用者登入資訊等。最近讀了幾篇大牛的部落格才對認證機制方面有了進一步了解。這種認證直接順應http協議的無狀態性,每次執行業務的時候,都暴力地附帶username與password引數,並將其傳...

Cassandra儲存機制

摘要 在2009年興起的nosql運動中,cassandra是其中重要的乙個分布式key value資料庫產品,由facebook在2008年開源,目前是apache的頂級專案。在2009年興起的nosql運動中,cassandra是其中重要的乙個分布式key value資料庫產品,由faceboo...