【问题标题】:Why don't most CMSs write static .html files to disk?为什么大多数 CMS 不将静态 .html 文件写入磁盘?
【发布时间】:2010-07-17 15:25:53
【问题描述】:

对于不需要像 cmets 这样的动态功能的基本 CMS,为什么不将静态 .html 文件写入磁盘呢?然后可以使用像 nginx 这样的高性能静态文件 Web 服务器来提供文件。从理论上讲,这将提供性能最高的网站。

编辑:在我看来,“基本 CMS”是公司可以用于其公司网站的东西。内容需要改变我的营销人员,但通常没有像 cmets 这样的动态内容。

【问题讨论】:

    标签: architecture web content-management-system webserver


    【解决方案1】:

    一个原因是,即使是基本网站也大量使用“动态”内容。 考虑最新文章的侧边栏 - 如果该站点是静态 HTML 页面,则每次发布新帖子时都可能需要重写该站点的每个页面。

    但如果高流量意味着为响应每个请求提供动态内容成为性能问题,那么许多 CMS 可以缓存其内容,从而有效地实现两全其美。

    【讨论】:

      【解决方案2】:

      虽然这不是对您问题的直接回答,但我记得我最近读过的一篇博文,您可能对此感兴趣:baking vs. cooking

      它描述了将 WordPress 博客转换为“烘焙”解决方案的过程。

      【讨论】:

        【解决方案3】:

        如果内容永远都没有改变,那就没问题了。一旦发生变化,您需要重新生成 html。即使您没有 cmets,也可能您正在使用 CMS,因为您的内容有潜在需要更改。

        CMS 会有缓存,但它仍然需要检查自上次生成 html 以来是否有任何内容发生更改。缓存也会占用磁盘空间 - 虽然不是大问题,但这是一个考虑因素。

        因此,根据内容更改的频率和内容的数量,预生成 html 可能没有意义。

        【讨论】:

        • 如果您提供 .html 文件,是否需要缓存?缓存会做什么?
        • @Christopher - 我假设 CMS 没有以 HTML 格式存储它的数据,但需要生成它。
        【解决方案4】:

        当您说静态内容时,大多数 CMS 假定其内容需要修复,但需要可编辑。我相信这就是为什么它们从未写入 html 而是保存到数据库的原因。

        【讨论】:

          【解决方案5】:

          大多数 CMS 可能需要一些动态功能。

          但是有一些,特别是博客引擎,可以按照您描述的方式工作。它是一组生成博客的脚本,包括 atom 提要。

          以 utterson 为例:
          http://github.com/stef/utterson

          【讨论】:

            【解决方案6】:

            其中一个原因是 SQL 解决方案允许您将布局和模板问题与数据本身分开。因此,您的内容与结构变化无关,这使事情更易于管理。使用基于文件的方法,对结构的任何更改都需要您删除并重写所有现有内容。

            【讨论】:

              【解决方案7】:

              因为大多数 CMS 需要某种描述的动态功能(或至少将其作为一项功能,因此围绕该需求设计其架构)。

              此外,大多数 CMS 都不是“基本的”——它们是高度复杂的“万事通”的 web 应用程序,通常做的事情远远超过你想要/需要的——其中大部分是动态的。

              许多 CMS 确实如您所描述的那样进行缓存,并且大多数没有某种模块/插件/等。这样做。例如 Drupal 有 Boost:http://drupal.org/project/boost

              【讨论】:

                猜你喜欢
                • 2016-01-12
                • 2013-05-25
                • 1970-01-01
                • 2011-06-15
                • 1970-01-01
                • 2012-11-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多