1

对于不需要动态功能(如注释)的基本CMS,为什么不将静态.html文件写入磁盘?然后,一个高性能的静态文件,像nginx这样的web服务器可以用来提供这些文件。这理论上可以提供性能最高的网站。为什么大多数CMS不将静态.html文件写入磁盘?

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

回答

0

虽然这不是直接回答你的问题,我想起了一些博客帖子我最近看了关于这一点,这可能是你的兴趣:baking vs. cooking

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

0

如果内容有没有更改,那也没关系。只要有什么变化,你需要重新生成的HTML。即使你没有评论,大概你正在使用CMS,因为你的内容有潜在的改变。

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

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

+0

如果您在提供.html文件,您需要缓存吗?缓存会做什么? – 2010-07-17 15:41:26

+0

@Christopher - 我假定CMS没有以HTML格式存储数据,但需要生成它。 – ChrisF 2010-07-17 15:47:29

0

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

0

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

但有一些,特别是博客引擎,以您描述的方式工作。这是一组生成博客的脚本,包括原子提要。

看看阿特森例如:
http://github.com/stef/utterson

0

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

0

由于大多数CMS需要某些描述的动态功能(或至少将其作为一个功能,因此围绕该需求设计其体系结构)。

此外,大多数CMS不是“基本” - 它们是非常复杂的“万事通”web应用程序,通常远远超出您的需要 - 大部分是动态的。

许多CMS都会按照您所描述的方式进行缓存,并且大多数没有某种模块/插件等的缓存。这样做。 Drupal的例子有Boost:http://drupal.org/project/boost

1

原因之一是即使是基本的网站广泛使用'动态'的内容。 考虑最新文章的边栏 - 如果该网站是静态HTML页面,则每次发布新帖子时都必须重新编写该网站的每个页面。

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

相关问题