出于性能考虑,我希望我的一些网页使用已被高速缓存以供脱机使用(图像,CSS等)的资源,但没有页面本身被缓存,因为内容将被动态生成。忽略HTML5脱机appcache中的当前页面,但使用缓存资源
做到这一点的一种方法是重构我的页面,以便它们通过AJAX加载动态内容或在LocalStorage中查找内容。细节可能会有所不同,但大致来说,就是这样。
如果可能,我宁愿找到一种方法来简单地指示浏览器为页面使用缓存资源(再次,图像,CSS等),但实际上不会缓存(动态生成的)HTML内容本身。
有没有办法做到这一点与HTML5离线appcache?我的印象是答案是“否”,因为:
- 任何包含清单的页面都将被缓存,因此我无法在页面中指定缓存的资源。
- 没有办法告诉上一页“为该其他页面使用离线资源,但实际上并未在该页面上缓存HTML”。您必须指定页面本身,这意味着HTML将被缓存。
我错了吗?似乎可能有一些棘手的(或不那么棘手)的方式。现在我已经输入了它,我想知道是否明确包含在appcache清单的NETWORK
部分中的页面将会起作用。
呵呵,它实际上就像我已经使用的典型用例场景那样,就像那种开箱即用的工作。现在不要因为不先测试而感到愚蠢! – Trott
您确定这种非缓存页面使用缓存资源吗?我不确定。这工作,但我认为该页面将加载服务器的资源... – pkyeck
@pkyeck应用程序将使用缓存的资源,只要可用。要获取最新内容,您必须修改清单或清除缓存。一个简单的技巧是对MD5进行总结并在清单文件中写入值,以便在清单更改MD5值更改时将其写入触发缓存更新的文件。这是做服务器端btw。 – gotomanners