閱讀27 返回首頁    go 阿裏雲 go 技術社區[雲棲]


移動web app開發-----application cache 離線緩存應用篇

在移動web app應用中,請求數非常昂貴,請求數過多不但耗電,耗流量,同時速度也非常的慢,為了減少請求,加快資源的加載速度,使用application cache,是一個比較不錯的方案,下麵通過三篇文章來全麵的介紹application cache,第一篇為應用篇,第二篇為原理篇,第三篇為高級進階篇。本篇內容主要包括三個方麵
  • manifest文件書寫
  • application cache類型
  • application cache狀態
     
manifest文件書寫

要想使用application cache,首先必須為html標簽添加manifest屬性,該屬性的值【example.appcache】是一個位於服務器端的文件,一般可以把這個文件叫做manifest文件。
<html manifest="example.appcache"></html> 

example.appcache文件路徑可以是絕對路徑和相對路徑,絕對路徑必須和網站同域,它的MIME類型必須為text/cache-manifest,文件的格式為utf-8,文件的基本內容,如下所示:
CACHE MANIFEST
# v1 2011-08-14
# This is another comment
index.html
cache.html
style.css
image1.png

# Use from network if available
NETWORK:
network.html

# Fallback content
FALLBACK:
/ fallback.html
   上麵的內容有幾個需要主要的地方:
          1.第一行必須包含CACHE MANIFEST,這兩個單詞之間是一個U+0020這樣的空格,後麵可以有0個或者多個空格,其餘的文本字符都會被忽略
     2.文件中可以包含空行,注釋,片段頭和片段數據,這些都是可選的
          空行:可以包含0個或者多個空白或者tab字符。
          注釋:以#開頭
          片段頭:CACHE【要緩存的資源】;NETWORK【必選請求網絡的資源】,FALLBACK【當資源請求失敗時,需要轉向的url】
          片段數據:在CACHE片段中,每一行必須為一個合法的URI或者IRI reference to a resource to cache,每一行的開始或者結束可以有空               格;NETWORK片段中,每一行必須為一個合法的URI或者IRI reference to a resource tofetch from the network,可以使用【*】通配符;在FALLBACK片段中,每一行必須為一個合法的URI 或者IRI reference to a resource,當網絡不可用時,需要跳轉的資源。文件中的相對地址是相對example.appcache的地址, 而不是相對於當前文檔的地址。
     3.第二行是一個注釋,表示是一個版本號,一般會使用一個時間戳,這個版本號不是必須的,但是一般情況下就需要,至於為什麼下篇文章會說明。


application cache類型:


Master entries【表示含有manifest屬性的文檔】
Explicit entries【位於CACHE片段中列舉的資源】
Network entries【位於NETWORK片段列舉的資源】
Fallback entries【位於FALLBACK中列舉的資源】

注意必須至少包含下麵一種類型,同一個資源可以被標記為多種類型

application cache狀態:

UNCACHED 表示app cache未被初始化 IDLE app cache沒有在當前更新的進程中。 CHECKING 表示manifest文件正在被獲取和檢查更新狀態。 DOWNLOADING 資源已經被下載,並添加到緩存中,這時還沒有更新緩存。 UPDATEREADY 表示一個新版本的app cache可用了,同時會觸發一個update ready事件。 OBSOLETE
          所有緩存的資源都已經過時
到此為止application cache的應用相信大家肯定是沒有問題的了,那麼緩存是如何更新的,我們如何能夠知道緩存的狀態,帶著這些問題,敬請關注下篇文章【application cache 離線緩存原理篇】

感謝:
using the application cache
the beginner's guide to using the application
applicationcache api specification

Taking your web sites and apps offline with theHTML5 appcache


   



最後更新:2017-04-02 17:09:25

  上一篇:go Android 調試橋(adb)
  下一篇:go 解決錯誤ERROR: No suitable Java found. In order to properly use the Android Developer Tools,…