HTML5 學習筆記 應用程式快取

浪花一朵朵發表於2015-06-12

使用html5 通過建立cache manifest檔案,可以輕鬆地建立web應用的離線版本。

html5引入了應用程式快取,這意味著web應用可進行快取,並可在沒有因特網連線時進行訪問。

應用程式快取為應用帶來三個優勢:

1,離線快取-使用者可在應用離線時使用它們。

2,速度-已快取資源載入得更快

3,減少伺服器負載 瀏覽器將只從伺服器下載更新過或更改過的資源。

 

HTML5 Cache Manifest例項

下面的例子展示了帶有cache manifest的html文件(供離線瀏覽):

<!DOCTYPE HTML>
 <html manifest="demo.appcache">

 <body>

 </body>

 </html>

Cache Manifest基礎

如需啟用應用程式快取,請在文件的html標籤中包含manifest屬性:

每個指定了manifest的頁面在使用者對其訪問時都會被快取。如果未指定manifest屬性,則頁面不會被快取(除非在manifest檔案中直接指定了該頁面)

Tmanifest檔案的建議的副檔名是:".appcache".

請注意:manifest檔案需要配置正確的MIME-type,即"text/cache-manifest".必須在web伺服器上進行配置。

Manifest檔案

manifest檔案是簡單的文字檔案,它告知瀏覽器被快取的內容(以及不被快取的內容)。

manifest檔案可分為三個部分:

CACHE MANIFEST 在此標題下列出的檔案將在首次下載後進行快取

NETWORK 在此標題下列出的檔案需要與伺服器連線,且不會被快取

FALLBACK,在此標題下列出的檔案規定當頁面無法訪問回退頁面

 

CACHE MANIFEST

第一行,CACHE MANIFEST是必需的:

CACHE MANIFEST

/theme.css

/logo.gif

/jquery.js

上面的manifest檔案列出了三個資源:一個css檔案,一個gif影象,以及一個js檔案,當manifest檔案載入後,瀏覽器會從網站的根目錄下下載這三個檔案。然後,無論使用者何時與因特網斷開連線,這些資源依然是可用的。

NETWORD

下面的NETWORD小節規定檔案"login.php"永遠不會被快取,且離線時是不可用的:

FALLBACK

下面的FALLBACK小節規定如果無法建立因特網連線,則用"offline.html",替代/html5/目錄中所有的檔案:

FALLBACK:
 /html/ /offline.html

注意: 第一個 URI 是資源,第二個是替補。

更新快取

一旦應用被快取,它就會保持快取直到發生下列情況:

使用者清空瀏覽器快取

manifest檔案被修改(參閱下面的提示)

由程式來更新應用快取

關於應用程式快取的說明

請留心快取的內容

一旦檔案被快取,則瀏覽器會繼續展示已快取的版本,即使您修改了伺服器上的檔案。為了確保瀏覽器更新快取,您需要更新manifest檔案。

注意:瀏覽器對快取資料的容量限制可能不太一樣(某些瀏覽器設定的限制是每個閃站點5MB)

 

相關文章