2016-03-03 231 views
3

嗨,我們有一個移動應用程序(iOS和Android),需要使用嵌入式UIWebView或WebView顯示一些網頁。這些網頁需要支持7-10天的離線瀏覽。我們正在考慮兩個備選方案 - 應用程序緩存和cache-control標題:使用這兩種方法的概念使用緩存控制標題的離線web應用程序?

cache-control: max-age=604800 

我們跑了很多證據。這兩種方法似乎都給了我們我們需要的東西。緩存控制似乎有一個小優點,我們可以使用通配符爲所有JS,CSS和圖像文件在Web服務器配置中設置它的值。至於緩存清單,我們需要單獨列出每個文件。

說了這麼多,我沒有發現任何人試圖使用cache-control構建離線應用程序。幾乎所有的文章和博客文章都使用AppCache。有什麼我在這裏失蹤?

回答

1

使用cache-control離線的一個問題是,用戶需要在離開前訪問應用程序中的所有頁面,否則他們不會被緩存下次訪問時使用。應用程序緩存列出了所有需要的頁面並將其全部緩存起來。

cache-control也不是爲了支持離線應用程序而設計的(看起來像),並且有一些捕獲,如瀏覽器不從緩存中加載some circumstances。因此,您無法保證瀏覽器在離線時不會嘗試發送資源請求(導致頁面顯示網絡故障)。

基本上,如果你希望它可靠地工作,你應該使用應用緩存或服務人員。

相關問題