【问题标题】:Offline Storage - Don't cache HTML page离线存储 - 不缓存 HTML 页面
【发布时间】:2012-08-02 03:02:01
【问题描述】:

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

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

【问题讨论】:

    标签: html offline cache-manifest


    【解决方案1】:

    浏览器应该已经根据这些资源(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 缓存清单将向有能力的浏览器发出信号,表明该页面/应用程序应该可以离线使用。浏览器将存储页面以及清单中引用的项目,以便在没有网络连接的情况下显示它们。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2011-11-30
        • 2021-06-04
        • 1970-01-01
        • 2011-09-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-15
        • 2013-01-23
        相关资源
        最近更新 更多