這兩天心血來潮,忽然想折騰一個屬於自己的博客,也就是這一系列的緣由。而最終也總算是折騰出來了,要不你就不會看到這篇文章了
可在這折騰博客的第一步:選擇框架上,作爲一個選擇困難重症患者,自己首先就犯了難:選什麼樣的博客框架好呢?
仔細查了查資料,發現博客網站框架總的來講分成靜態和動態,分別生成的是靜態網頁和動態網頁。
那到底靜態網頁和動態網頁都是啥呢?咱們這就來仔細掰扯掰扯吧。
區分動態和靜態
所謂“動態”,不是說有個flash動畫有個視頻,網頁“動”起來就叫叫動態的 2333 動態和靜態的主要區別,是指網頁的頁面是恆定不變的還是由程序動態生成的。
我們知道,瀏覽器其實就相當於一個編譯器,將服務器傳來的文件“翻譯”成我們所看到的網頁形式。對於靜態網頁來說,對於一個固定的請求,服務器傳來的文件是恆定不變的。
而對於動態網頁來講,在收到一個請求後,服務器會調用相應的程序,程序再結合其數據庫,動態生成所需要傳回的文件,再傳回到客戶端由瀏覽器生成相應的頁面。
當然,在Ajax(異步JavaScript+XML)技術出現之後,所說的靜態頁面也允許客戶端的 JavaScript 腳本爲局部頁面提供請求服務,然後可以在無需回到服務器情況下動態刷新部分頁面,其實也就是實現了部分的動態化。當然,和動態頁面能實現的功能相比,Ajax還是有所欠缺。
知道了動態和靜態的區別之後,他們的優勢和劣勢也就顯而易見了。
動態和靜態的優勢劣勢
從內容上講,由於(純)靜態網頁只是將既有的文件發回客戶,所以其網頁的內容是固定的;而動態網頁由於網頁是動態生成的,所以可以做到對於不同的用戶,在不同的時間顯示不同的內容。所以從功能上講,動態網頁相較於靜態網頁,能實現更多更強的功能,比如對數據庫的支持。
另一方面,從源代碼的角度來說,靜態網頁的源代碼是完全公開的,這就導致別人的複製相對容易;而動態網頁的html頁面是動態生成的,瀏覽器顯示的源代碼無法顯示其後端處理的過程,而後端處理的代碼是無法或很難獲取到的。
所以總體來講,靜態網頁的優勢在於無需大量的系統資源(去進行生成網頁的過程),並且瀏覽打開的速度很快。同時由於只有網頁,也相對安全而不易崩潰;同時利於搜索引擎的抓取和處理;而相比之下,動態網頁的優勢就體現其優秀的交互性,並且由於動態的生成涉及到數據庫,使得整個日常維護和結構的更改和遷移變得容易。
對於博客系統來講,無論是靜態還是動態都有着很多優秀的框架。動態框架如wordpress,靜態框架如Jekyll,hexo等,都是很不錯的選擇。
最後我們再以一張表格總結一下,
(純)靜態網站 | 動態網站 | |
---|---|---|
內容 | 網頁內容固定 | 網頁內容動態生成 |
功能 | 少,弱 | 多,強 |
源代碼 | 完全公開 | 無法獲取 |
工具 | HTML+CSS+Javascript | ASP/PHP/JSP |
數據庫 | 不支持 | 支持 |
優點 | 無需系統實時生成 利於搜索引擎抓取 瀏覽打開速度快 安全,不易崩潰 | 交互性強 日常維護簡單 結構更改方便 |
缺點 | 交互性弱 日常維護繁瑣 結構更改較不方便 | 需要大量系統資源 不易被搜索引擎抓取 瀏覽打開速度慢 易遭受攻擊 |
不知看到這裏,你是否選定了自己的框架~祝大家都能搭出自己心儀的博客~
版權聲明
本作品採用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。轉載請標明