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可以緩存其內容,從而實現兩全​​其美。

相關問題