HTML5的離線儲(chǔ)存怎么使用绢慢?

隨著Web App的發(fā)展,越來(lái)越多的移動(dòng)端App使用HTML5的方式來(lái)開發(fā)洛波,除了一些HybridApp以外胰舆, 其他一部分Web App還是通過(guò)瀏覽器來(lái)訪問(wèn)的,通過(guò)瀏覽器訪問(wèn)就需要聯(lián)網(wǎng)發(fā)送請(qǐng)求蹬挤,這樣就使得用戶在離線 的狀態(tài)下無(wú)法使用App缚窿,同時(shí)Web App中一部分資源并不是經(jīng)常改變,并不需要每次都向服務(wù)器發(fā)出請(qǐng)求焰扳,出于 這些原因倦零,HTML5提出的一個(gè)新的特性:離線存儲(chǔ)。通過(guò)離線存儲(chǔ)吨悍,我們可以通過(guò)把需要離線存儲(chǔ)在本地的文件 列在一個(gè)manifest配置文件中扫茅,這樣即使在離線的情況下,用戶也可以正常使用App育瓜。

使用方法:

在html標(biāo)簽中引入manifest文件:

HTML5的離線存儲(chǔ)是基于一個(gè)新建的.appcache文件的葫隙,通過(guò)這個(gè)文件上的解析清單離線存儲(chǔ)資源 ,這些資源就會(huì)像cookie一樣被存儲(chǔ)了下來(lái)躏仇。之后當(dāng)網(wǎng)絡(luò)在處于離線狀態(tài)下時(shí)恋脚,瀏覽器會(huì)通過(guò)被離線存儲(chǔ)的數(shù)據(jù) 進(jìn)行頁(yè)面展示

緩存流程:

利用一個(gè)manifest清單文件告知服務(wù)器需要離線的網(wǎng)頁(yè)文件。

在第一次訪問(wèn)網(wǎng)站時(shí)服務(wù)器響應(yīng)manifest文件進(jìn)行緩存钙态。

在第二次訪問(wèn)該網(wǎng)址時(shí),檢測(cè)是否達(dá)到更新緩存的條件菇晃,否則直接使用緩存文件(即使你修改了服務(wù)器上的文件)册倒。

這個(gè)文件中存儲(chǔ)了服務(wù)器希望緩存的文件列表:

CACHE MANIFEST

上面一句必須

#v1.0.1

CACHE:當(dāng) manifest 文件加載后瀏覽器會(huì)從網(wǎng)站的根目錄下載文件,無(wú)論用戶何時(shí)與因特網(wǎng)斷開連接磺送,這些資源依然是可用的驻子。

test.html

test.js

doraemon.jpg

NETWORK:

#列出的文件需要與服務(wù)器的連接,且不會(huì)被緩存

test.css

FALLBACK:

#規(guī)定當(dāng)頁(yè)面無(wú)法訪問(wèn)時(shí)的回退頁(yè)面(比如 404 頁(yè)面)

404.html

更新緩存:

一旦應(yīng)用被緩存估灿,它就會(huì)保持緩存直到發(fā)生下列情況

用戶清空瀏覽器緩存

manifest 文件被修改

由程序來(lái)更新應(yīng)用緩存

離線存儲(chǔ)有什么優(yōu)缺點(diǎn)崇呵?

優(yōu)點(diǎn)

離線瀏覽 - 用戶可在應(yīng)用離線時(shí)使用它們

速度 - 已緩存資源加載得更快

減少服務(wù)器負(fù)載 - 瀏覽器將只從服務(wù)器下載更新過(guò)或更改過(guò)的資源。

2.知識(shí)剖析

這個(gè)文件中存儲(chǔ)了服務(wù)器希望緩存的文件列表:

CACHE MANIFEST

上面一句必須

#v1.0.1

CACHE:當(dāng) manifest 文件加載后瀏覽器會(huì)從網(wǎng)站的根目錄下載文件馅袁,無(wú)論用戶何時(shí)與因特網(wǎng)斷開連接域慷,這些資源依然是可用的。

test.html

test.js

doraemon.jpg

NETWORK:

#列出的文件需要與服務(wù)器的連接,且不會(huì)被緩存

test.css

FALLBACK:

#規(guī)定當(dāng)頁(yè)面無(wú)法訪問(wèn)時(shí)的回退頁(yè)面(比如 404 頁(yè)面)

404.html

更新緩存:

一旦應(yīng)用被緩存犹褒,它就會(huì)保持緩存直到發(fā)生下列情況

用戶清空瀏覽器緩存

manifest 文件被修改

由程序來(lái)更新應(yīng)用緩存

離線存儲(chǔ)有什么優(yōu)缺點(diǎn)抵窒?

優(yōu)點(diǎn)

離線瀏覽 - 用戶可在應(yīng)用離線時(shí)使用它們

速度 - 已緩存資源加載得更快

減少服務(wù)器負(fù)載 - 瀏覽器將只從服務(wù)器下載更新過(guò)或更改過(guò)的資源。

缺點(diǎn)

更新的資源叠骑,需要二次刷新才會(huì)被頁(yè)面采用

不支持增量更新李皇,只有manifest發(fā)生變化,所有資源全部重新下載一次

缺乏足夠容錯(cuò)機(jī)制宙枷,如果manifest文件掉房,或者內(nèi)部列舉的某一個(gè)文件不能 正常下載,整個(gè)更新過(guò)程將視為失敗慰丛,瀏覽器繼續(xù)全部使用老的緩存

注意

在此刻使用這里描述的應(yīng)用程序緩存功能高度 正在處于從Web平臺(tái)中被刪除的過(guò)程卓囚。雖然一些瀏覽器 目前仍然支持它,但也許會(huì)在未來(lái)的某個(gè)時(shí)間停止支持璧帝,請(qǐng)盡量不要使用該特性捍岳。

存儲(chǔ)網(wǎng)頁(yè)數(shù)據(jù)的方式?

localStorage - 沒(méi)有時(shí)間限制的數(shù)據(jù)存儲(chǔ)(永久),對(duì)于同一個(gè)瀏覽睬隶,當(dāng)用戶關(guān)閉瀏覽器窗口后锣夹,數(shù)據(jù)不會(huì)被刪除。

sessionStorage - 針對(duì)一個(gè) session 的數(shù)據(jù)存儲(chǔ)(sesion/),當(dāng)用戶關(guān)閉瀏覽器窗口后苏潜,數(shù)據(jù)會(huì)被刪除银萍。

cookie:不適合大量數(shù)據(jù)的存儲(chǔ),因?yàn)樗鼈冇擅總€(gè)對(duì)服務(wù)器的請(qǐng)求來(lái)傳遞恤左,這使得 cookie 速度很慢而且效率也不高贴唇。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市飞袋,隨后出現(xiàn)的幾起案子戳气,更是在濱河造成了極大的恐慌,老刑警劉巖巧鸭,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瓶您,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡纲仍,警方通過(guò)查閱死者的電腦和手機(jī)呀袱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)郑叠,“玉大人夜赵,你說(shuō)我怎么就攤上這事∠绺铮” “怎么了寇僧?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵摊腋,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我婉宰,道長(zhǎng)歌豺,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任心包,我火速辦了婚禮类咧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蟹腾。我一直安慰自己痕惋,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布娃殖。 她就那樣靜靜地躺著值戳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪炉爆。 梳的紋絲不亂的頭發(fā)上堕虹,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音芬首,去河邊找鬼赴捞。 笑死,一個(gè)胖子當(dāng)著我的面吹牛郁稍,可吹牛的內(nèi)容都是我干的赦政。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼耀怜,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼恢着!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起财破,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤掰派,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后左痢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體靡羡,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年抖锥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了亿眠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碎罚。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡磅废,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出荆烈,到底是詐尸還是另有隱情拯勉,我是刑警寧澤竟趾,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站宫峦,受9級(jí)特大地震影響岔帽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜导绷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一犀勒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧妥曲,春花似錦贾费、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至葵萎,卻和暖如春导犹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背羡忘。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工谎痢, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人壳坪。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓舶得,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親爽蝴。 傳聞我的和親對(duì)象是個(gè)殘疾皇子沐批,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容