靜態網頁 (Static Web Page)

靜態網頁指單純由 HTML、CSS 及 JavaScript 構成的網頁,所有內容都位於檔案中,不會根據使用者輸入或其他條件改變網頁內容,因此執行速度非常快,也比較沒有安全性的問題。 靜態網頁一般都不會有後台可以修改網頁中的資料,要異動資料僅能透過工程師直接修改 HTML 文本,因此通常也不會使用到資料庫及後端程式語言。

靜態網頁網址通常看起來如下:

  • https://domainname/news.htm
  • https://domainname/news.html

動態網頁 (Dynamic Web Page)

動態網頁是由後端程式語言 (例如:PHP、Python) 根據使用者輸入或其他條件 (例如:網址參數) 動態生成網頁內容,動態網頁資料是儲存在資料庫中,當網頁資料需要異動時,只需修改資料庫中相對應的資料即可,無需修改任何程式碼。 實務上,這類型的網站通常也會開發一個管理後台,讓使用者透過後台修改資料,而不是直接登入資料庫修改資料。 此外,動態網頁涉及到的相關技術,比靜態網頁還要廣泛很多,技術含量較高,也會帶來效能及安全性的挑戰,因此開發成本及維護成本都會比較高。

動態網頁網址通常看起來如下:

  • https://domainname/news.php?id=1
  • https://domainname/news.php?id=2
  • https://domainname/news.php?id=3

偽靜態網頁 (Pseudo-static Web Page)

由於靜態網頁對於 SEO 較友善,所以常常會將動態網址靜態化,也就是讓動態網址看起來像靜態網址,這在實務上是相當常見的作法。 而實作上也不會太難,只要使用網頁伺服器的 URL Rewrite 就能實現此功能,目前幾乎主流的網頁伺服器都支援 URL Rewrite。

不過這麼做不一定總是帶來好處,規劃不好,也可能帶來壞處,不過這屬於 SEO 範疇,這裡就不展開說明了。 此外,偽靜態網頁本質上還是動態網頁,純靜態網頁的效能及安全優勢在偽靜態網頁是不存在的,因此實務上如果某個頁面幾乎不會更新的話,會建議直接製作成純靜態網頁,而不是偽靜態網頁。

偽靜態網頁網址通常看起來如下:

  • https://domainname/news/1
  • https://domainname/news/2
  • https://domainname/news/3
  • https://domainname/news-3.htm (也可能跟靜態網址長得一模一樣)

如果想詳細了解 SEO,可以參考以下文章:

總結

優點 缺點
靜態網頁 速度快
安全性高
SEO 較友善
不易更新
無法連結資料庫
動態網頁 易更新
能製作較複雜的功能
SEO 較不友善
開發成本高
維護成本高
偽靜態網頁 本質上為動態網頁,但改善 SEO 不友善問題