實例 - 完整的 Manifest 文件
1,什么是應用程序緩存(Application Cache)
HTML5 引入了應用程序緩存,這意味着 web 應用可進行緩存,並可在沒有因特網連接時進行訪問。
離線緩存:
離線緩存可以將站點的一些文件緩存到本地,它是瀏覽器自己的一種機制,
將需要的文件緩存下來,以便后期即使沒有連接網絡,被緩存的頁面也可以展示。
即使有網絡,優先本地存儲的資源
2,應用程序緩存為應用帶來三個優勢:
* 離線瀏覽 - 用戶可在應用離線時使用它們
* 速度 - 已緩存資源加載得更快
* 減少服務器負載 - 瀏覽器將只從服務器下載更新過或更改過的資源。
* 【
在沒有網絡的時候可以訪問到緩存的對應的站點頁面,包括html,js,css,img等等文件
在有網絡的時候,瀏覽器也會優先使用已離線存儲的文件,返回一個200(from cache)頭。這跟HTTP的緩存使用策略是不同的
資源的緩存可以帶來更好的用戶體驗,當用戶使用自己的流量上網時,本地緩存不僅可以提高用戶訪問速度,而且大大節約用戶的使用流量。
】
3,如何實現離線緩存:
a)Cache Manifest 基礎
如需啟用應用程序緩存,請在文檔的<html> 標簽中包含 manifest 屬性:
* 在需要緩存的html根節點上面添加屬性 manifest ,屬性值是一個 . appcache 文件;
Appcache 是一個控制緩存文件
* 在同目錄下創建demo.appcache 文件,幷添加配置項
b)Manifest 文件
manifest 文件是簡單的文本文件,它告知瀏覽器被緩存的內容(以及不緩存的內容)。
manifest 文件可分為三個部分:
CACHE MANIFEST - 在此標題下列出的文件將在首次下載后進行緩存
NETWORK - 在此標題下列出的文件需要與服務器的連接,且不會被緩存
FALLBACK - 在此標題下列出的文件規定當頁面無法訪問時的回退頁面(比如 404 頁面)
* CACHE MANIFEST
第一行,CACHE MANIFEST,是必需的:
CACHE MANIFEST
/theme.css
/logo.gif
/main.js
上面manifest 文件列出了三個資源:一個 CSS 文件,一個 GIF 圖像,一個 JavaScript 文件
* NETWORK
NETWORK:
login.php
可以使用星號來指示所有其他資源/文件都需要因特網連接:
NETWORK:
*
* FALLBACK
FALLBACK:
/html/ /offline.html
第一個 URI 是資源,第二個是替補。
4,更新緩存:
一旦應用被緩存,它就會保持緩存直到發生下列情況:
用戶清空瀏覽器緩存
manifest 文件被修改
由程序來更新應用緩存
5,在服務器端將.appcache文件的mime類型配置成 text/cache-manifest
下面以phpstudy為例
打開,mime.types ,在后面添加----
6,在網頁中打開
以 "#" 開頭的是注釋行