WebApp本地存储 (离线缓存策略策略)
生活随笔
收集整理的這篇文章主要介紹了
WebApp本地存储 (离线缓存策略策略)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
開發(fā)離線應(yīng)用的緩存方法大概有4種(如下safari開發(fā)工具中的resources所示)
1.cookies(略):傳統(tǒng)儲(chǔ)存策略。缺點(diǎn)很明顯:儲(chǔ)存的容量過小,而且很容易被各種軟件當(dāng)垃圾清除,如360等。
2.Application Cache資源緩存:在html中指定一個(gè)manifest文件,給文件中羅列出需要緩存的資源文件列表。瀏覽器根據(jù)資源列表對資源文件緩存。
3.Dom Storage:這一種基于key/value的格式。
DOM Storage 分為兩類:sessionStorage 和 localStorage。除了以下區(qū)別外,這兩類存儲(chǔ)對象的功能是完全一致的。
示例:(這才是重點(diǎn)啊!) 目前我只嘗試過Application Cache,所以也只給出這個(gè)例子。 開發(fā)環(huán)境:Apache+php+(windows下的safari,chrome,firefox)/ipod touch下的safari 目的:緩存我指定的index.html和其中的jquery.js資源文件。index.html中的圖片不緩存。 文件目錄分布如下: /jqueryapp/ --------------------------------------------- 1.index.html 2.jquery.js 3.tetris.php(可能大家覺得這個(gè)文件很奇怪,其實(shí)是用來發(fā)送manifest的mime type的。不然就要修改apache的mime.types或者用.htaccess,很多人沒有這個(gè)條件,比如我) 4.tetris.manifest --------------------------------------------- index.html代碼 [plain]?view plaincopy
[plain]?view plaincopy
[plain]?view plaincopy
后記:關(guān)于manifest的mime type聲明 html5提供的這種方法必須保證<html manifest="文本文件">中的文本文件(任意名字和任意擴(kuò)展名)是text/cache-manifest類型的。即其header必須聲明其類型是text/cache-manifest的。
其實(shí)如果你有修改apache服務(wù)器或者別的web服務(wù)器的權(quán)限你完全可以不用tetris.php這個(gè)文件。在index.html中的直接用?<html manifest="tetris.manifest">就可以。 修改apache的mime.types配置文件,在其中加上下面這句。 text/cache-manifest manifest 或者用.htaccess,加添下面那句(我沒嘗試)。 AddType?text/cache-manifest用我上面的方法的好處就是不用修改和添加任何配置文件。利用php來發(fā)送header來告訴瀏覽器我是text/cache-manifest類型的。 參考資料: 1.http://www.ibm.com/developerworks/cn/web/1011_guozb_html5off/? 非常的詳細(xì)講解了離線應(yīng)用的儲(chǔ)存策略 2.http://www.qianduan.net/local-storage-of-html5.html 3.http://www.yiiyaa.net/1414?詳細(xì)講了manifest的用法 4.http://www.zzbaike.com/wiki/Htaccess?講了.htaccess的用法 與50位技術(shù)專家面對面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖
總結(jié)
以上是生活随笔為你收集整理的WebApp本地存储 (离线缓存策略策略)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Chrome网络库的请求处理
- 下一篇: Application Cache ma