html5的 app cache會不會有一個坑

瀏覽器同時提供了appcache與browsercache,如何及時準確的將服務器上的更新的內容同步到用戶的客戶端上將會變得非常複雜。

目前瀏覽器支持的緩存主要有兩種: 一種是傳統的瀏覽器cache,簡稱browser cache; 另一種是HTML5引入的離線緩存Application cache。它們之間主要有以下區別: 
    兩者的目的不一樣。App cache主要針對特有的web app,然而browser cache適應於所有的web頁面。
    Browser cache將緩存非常多的任何頁面,然而app cache將只緩存manifest文件中指定的頁面。
    Browser cache是不可靠的,開發者不知道哪些頁面和頁面中的資源文件已經被緩存。App cache允許開發者對緩存有更多的控制。
    標準制定者不一樣。App cache是W3C制定的規範。瀏覽器緩存的策略主要由HTTP消息中各種Cache-Control緩存指令來去頂,HTTP規範由IETF組織來制定。
需要注意: 多個頁面可以共享一個app cache。


App cache與browser cache混合在一起會使更新機制變得複雜,主要有以下幾個因素: 
1) App cache在各瀏覽器平臺實現上存在差異;
2) 各瀏覽器又提供了不同的頁面刷新機制;
3) app cache還與傳統的browser cache有着千絲萬縷的聯繫;對於它倆如何協同工作,HTML5的相關規範沒有對app cache的細節給出非常明確的規定; 瀏覽器官方文檔有沒有給出非常明確的說明。
4) browser cache的更新機制本身就已經很複雜。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章