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