最直接的差別:能不能自己改
這是最常被問到的問題,而且答案會直接影響網站架設的費用與後續的維護方式。
| 靜態網頁 | 動態網頁 |
| 內容從哪來 | 寫死在檔案裡 | 從資料庫即時取出 |
| 要改內容時 | 需修改原始檔案並重新上傳 | 登入後台自行編輯 |
| 誰能改 | 需要會寫程式的人 | 會用電腦即可 |
| 建置成本 | 較低 | 較高 |
| 後續成本 | 每次修改都要找人 | 自己改,不另計費 |
| 載入速度 | 快 | 略慢(可用快取改善) |
| 安全性 | 攻擊面小 | 需持續更新維護 |
靜態網頁
每一頁都是一個實際存在的檔案。訪客要求哪一頁,主機就把那個檔案原封不動送出去。內容是什麼,檔案裡就寫死什麼。
適合的情況
- 內容幾乎不會變動的形象網站
- 單頁式的活動網站或產品介紹頁
- 預算有限,且確定不需要自行更新
要注意的代價
「不需要自行更新」這個前提,在實務上往往不成立。公司搬遷、電話變更、新增一項服務、想發一則消息——每一次都要找當初的設計者處理,而且要看對方的排程與報價。
更麻煩的情況是:當初製作的人已經聯絡不上、或已經不做這一行了。這時連改一個電話號碼都得請人重新處理,甚至可能因為程式寫法過舊而建議整站重做。
動態網頁
網頁不是預先存在的檔案,而是訪客要求時,程式才即時去資料庫取資料、組合成頁面送出。
這就是為什麼您在後台新增一則消息,前台馬上就看得到——因為前台每次都是重新去資料庫拿最新的資料。
帶來的能力
- 後台自行新增、編輯、刪除內容
- 會員系統、訂單、表單、留言
- 依條件篩選、排序、搜尋
- 多人協作,可設定不同權限
要注意的代價
- 需要持續維護——程式與套件要更新,否則會出現安全漏洞
- 主機需求較高——需要支援程式執行與資料庫
- 備份更重要——資料在資料庫裡,只備份檔案是不夠的
網址結尾是 .html 就一定是靜態嗎
不一定。早年確實可以用副檔名判斷,但現在很多動態網站會把網址美化成靜態的樣子,這麼做對使用者閱讀和搜尋引擎都比較友善。
所以不能只看網址就判斷。最直接的判斷方式是:問對方「有沒有後台可以自己改內容」。有,就是動態;沒有,就是靜態。
htm 與 html 有什麼不同
沒有實質差別,兩者都是靜態網頁的副檔名。htm 是早期作業系統限制副檔名最多三個字元時的產物,後來限制解除,html 成為通用寫法。
現在新做的網站幾乎都用 html,看到 htm 通常代表這是相當早期製作的網頁。
那該選哪一種
以現在的實務來說,絕大多數企業網站都應該做動態網站,理由是:
- 內容更新是網站經營的核心。搜尋引擎會參考網站是否持續有新內容,長期不更新的網站排名會逐漸下滑
- 靜態的省錢是假象。省下的初期費用,往往在兩三次修改後就付出去了,而且每次都要等
- 主動權在自己手上。想發布消息、調整商品,隨時可以做,不用受制於他人的檔期
例外情況是:確定只是短期的活動頁、或極度單純且真的不會變動的單頁網站。
混合的做法
近年也有把兩者優點結合的做法:在後台用動態方式編輯內容,系統再自動產生靜態檔案供訪客瀏覽。這樣兼顧了編輯便利與載入速度,但架構較複雜,適合內容量大、對速度要求高的網站。
對一般企業網站而言,選擇有良好快取機制的動態網站就足夠了。