亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

淺談前端存儲(chǔ)

whidy / 584人閱讀

摘要:淺談前端存儲(chǔ)前言應(yīng)用允許使用瀏覽器提供的實(shí)現(xiàn)將數(shù)據(jù)存儲(chǔ)到用戶的電腦上,這種客戶端存儲(chǔ)相當(dāng)于賦予了瀏覽器記憶功能。鍵被更改之前的值限制對(duì)于和的存儲(chǔ)限制因?yàn)g覽器而異。最初是在客戶端用于存儲(chǔ)會(huì)話信息的。

淺談前端存儲(chǔ) 前言

web應(yīng)用允許使用瀏覽器提供的API實(shí)現(xiàn)將數(shù)據(jù)存儲(chǔ)到用戶的電腦上,這種客戶端存儲(chǔ)相當(dāng)于賦予了Web瀏覽器記憶功能。

客戶端存儲(chǔ)遵循“同源策略”,因此不同站點(diǎn)的頁面是無法相互讀取對(duì)方存儲(chǔ)的數(shù)據(jù)

客戶端存儲(chǔ)有以下幾種形式:

Web存儲(chǔ)

cookie

IE User Data

離線Web應(yīng)用

web數(shù)據(jù)庫

文件系統(tǒng)API

Web Storgage

實(shí)現(xiàn)了“web存儲(chǔ)”草案標(biāo)準(zhǔn)的瀏覽器在Window對(duì)象上定義了兩個(gè)屬性:localStorage和sessionStorage。

支持這兩個(gè)屬性的瀏覽器包括IE8+、Firefox3.5+、Chrome4+、Opera10.5+

webStorage的目的是克服由cookie帶來的一些限制,當(dāng)數(shù)據(jù)需要被嚴(yán)格控制在客戶端上時(shí),無須持續(xù)地將數(shù)據(jù)發(fā)回服務(wù)器。
webStorage的兩個(gè)主要目標(biāo)是:

提供一種在cookie之外存儲(chǔ)會(huì)話數(shù)據(jù)的途徑

提供一種存儲(chǔ)大量可以跨會(huì)話存在的數(shù)據(jù)的機(jī)制

有效期

通過localStorage存儲(chǔ)的數(shù)據(jù)是永久性的,除非web應(yīng)用刻意刪除存儲(chǔ)的數(shù)據(jù),或者用戶通過設(shè)置瀏覽器配置(瀏覽器提供的特定的UI)來刪除,否則數(shù)據(jù)將一直保留在用戶的電腦上永不過期

sessionStorage的有效期和存儲(chǔ)數(shù)據(jù)的腳本所在的最頂層的窗口或者是瀏覽器標(biāo)簽頁是一樣的。一旦窗口或者標(biāo)簽頁被永久關(guān)閉了,那么所有通過sessionStorage存儲(chǔ)的數(shù)據(jù)也都被刪除了。(現(xiàn)代瀏覽器已經(jīng)具備了重新打開最近關(guān)閉的標(biāo)簽頁隨后恢復(fù)上一次瀏覽的會(huì)話功能,因此,這些標(biāo)簽頁以及與之相關(guān)的sessionStorage的有效期可能會(huì)更長(zhǎng))。

作用域

localStorage的作用域是限定在文檔源級(jí)別的,它同樣也受瀏覽器供應(yīng)商限制。

sessionStorage的作用域也限定在文檔源中,不僅如此她還被限定在窗口中

存儲(chǔ)API

localStorage和sessionStorage通常被當(dāng)做普通的JS對(duì)象使用,這兩個(gè)對(duì)象提供了正式的API

保存數(shù)據(jù):localStorage.setItem( key, value ); sessionStorage.setItem( key, value );

讀取數(shù)據(jù):localStorage.getItem( key ); sessionStorage.getItem( key );

刪除單個(gè)數(shù)據(jù):localStorage.removeItem( key ); sessionStorage.removeItem( key );

刪除所有數(shù)據(jù):localStorage.clear( ); sessionStorage.clear( );

得到某個(gè)索引的key:localStorage.key( index ); sessionStorage.key( index );

注:兩個(gè)都有屬性 length 表示key 的個(gè)數(shù),也即 key 長(zhǎng)度。key和value都必須為字符串。

Storage事件

對(duì)Storage對(duì)象進(jìn)行任何修改,都會(huì)在文檔上觸發(fā)storage事件。這個(gè)事件的event對(duì)象有以下屬性:

domain:發(fā)生變化的存儲(chǔ)空間的域名

key:設(shè)置或者刪除的鍵名

newValue:如果是設(shè)置值,則是新值;如果是刪除鍵,則是null。

oldValue:鍵被更改之前的值

限制

對(duì)于localStorage和sessionStorage的存儲(chǔ)限制因?yàn)g覽器而異。具體參考:http://dev-test.nemikor.com/web-storage/support-test/

Cookie 概念

cookie是指Web瀏覽器存儲(chǔ)的少量數(shù)據(jù),同時(shí)它是與具體的Web頁面或者站點(diǎn)相關(guān)的。最初是在客戶端用于存儲(chǔ)會(huì)話信息的。

有效期

cookie默認(rèn)的有效期很短暫,他只能持續(xù)在web瀏覽器的會(huì)話期間,一旦用戶關(guān)閉瀏覽器,cookie保存的數(shù)據(jù)就丟失。

注:與sessionStorage有效期不同,它的有效期和整個(gè)瀏覽器進(jìn)程而不是單個(gè)瀏覽器窗口的有效期一致。

如果需要延長(zhǎng)cookie的有效期,可以通過設(shè)置max-age屬性,并明確告訴瀏覽器cookie的有效期有多長(zhǎng)。

作用域

cookie的作用域是通過文檔源和文檔路徑來確定的??赏ㄟ^path設(shè)置路徑,domain設(shè)置域名。

注:cookie的path屬性不能被用做訪問控制機(jī)制。若一個(gè)頁面想讀取同一站點(diǎn)其他頁面的cookie,只要簡(jiǎn)單地將其他頁面以隱藏