离线存储 - 不要缓存HTML页面

时间:2012-08-02 03:02:02

标签: html5 offline cache-manifest

我在我的网站上添加了一个缓存清单文件,用于缓存静态内容和更快的加载时间。但是,默认情况下,引用缓存清单文件的页面也会被缓存。我想缓存诸如图像,css和js文件之类的东西,但我不想缓存页面本身,因为它是动态的并由PHP生成。

有没有办法在页面上缓存静态资源,而不是实际的页面本身?

2 个答案:

答案 0 :(得分:2)

如果标题存在,浏览器应该已根据这些资源(cache-controlexpires等的HTTP响应中的缓存标头缓存静态资源。他们应该看起来像这样:

cache-control:private, max-age=31536000
date:Thu, 02 Aug 2012 14:22:25 GMT
expires:Thu, 02 Aug 2012 14:22:25 GMT

您应该能够使用浏览器的内置开发人员工具,插件或扩展程序(如FireBug)或调试代理(如Fiddler或Charles)查看这些标头。如果它们不存在,可以将许多HTTP服务器配置为根据您指定的规则自动包含这些标头。如果做不到这一点,您可以实现自己的“处理程序”,这些“处理程序”将提供资源并固定触发浏览器缓存所需的标头。

使用HTML5缓存清单会向有能力的浏览器发出信号,表明页面/应用程序应该可以离线使用。浏览器将存储页面以及清单中引用的项目,以便它们可以显示为无网络连接。

答案 1 :(得分:1)

您可以强制您的Web浏览器始终通过将该文件添加到缓存清单的NETWORK部分来下载文件:

NETWORK:
index.php   # index.php will always be downloaded

无论如何,缓存清单是为了让HTML5应用程序能够脱机工作,所以我可能不应该这样做:你的应用程序无法脱机工作。