靜態與動態網頁

靜態網站(static websites)由使用 HTML、CSS 和 JavaScript創建的網頁組成。靜態網站上的每個頁面都存儲為單個 HTML 文件,該文件完全按原樣從伺服器直接傳送到用戶端。

靜態網頁的優點在於:

  1. 更快的頁面加載速度。由於網頁都以預先製作完成,伺服器的工作只是傳送文件, 無需從數據庫找資料或在server side script做驗證等工作,所以加載速度會比動態網頁快速。由於頁面加載速度是谷歌評估網站性能的關鍵部分(對 SEO 和排名性能有影響),這個優點不應被低估。
  2. 創建與部署快速。靜態網站的創建和發布速度更快,因為它們複雜度較低,並且不需要有組織的連接到資料庫。網頁製作完成後,靜態網頁的部署較簡單,因為只需要將文件放置到伺服器上即可。相對的,動態網頁需要避免資料庫被駭客入侵、攻擊,設定伺服器端腳本與資料庫都需要額外工作。
  3. 安全性較高。 靜態網頁不與數據庫連接,也不使用外部套件。數據庫與外部套件都可以成為攻擊的常見入口點。

靜態網頁的缺點在於:

  1. 有限的可擴展性。雖然可以使用靜態網站構建數百個頁面,但這始終是一個緩慢而漫長的過程。網頁因為沒有連結儲存使用者資訊的數據庫,無法針對每個使用者提供客製化的內容。
  2. 管理效率低。靜態網站的創建速度可能更快,但管理起來可能更耗時。 因為需要逐頁編輯靜態網站,並且隨著網站頁面更多,不斷大量更新快速變化的內容耗時又耗力。

使用伺服器端腳本(server-side script)和技術構建的動態網站允許根據用戶行為,即時地顯示每個頁面的不同內容,例如,每個人的YouTube首頁顯示的推薦影片都不相同,因為YouTube會根據數據庫中儲存的使用者的觀看紀錄、習慣、訂閱內容等等的因素改變推薦影片。 通常,動態網站用於內容繁重且與用戶互動頻繁的網站。假設我們要架設的網站是房地產網站。我們需要生成數百個頁面來列出數百個房市資訊,且這些頁面上的內容需要反映即時的可用資訊,我們就需要選擇用動態網頁。電子商務網站、社群網站、在線論壇、會員網站、串流影音平台等等是其他常見的動態網頁類型。

動態網頁的優點在於:

  1. 維護更容易且更快。使用數據庫來儲存資料,每個網頁的製作依賴伺服器端腳本(server-side script)去抓取資訊並且生成網站。
  2. 可擴展性。 若從一開始就沒有計劃建立一個大型網站,動態網站的架構也可以讓我們在必要時進行擴展。
  3. 更好的用戶體驗。動態網站提供根據用戶需求量身定制的內容。
  4. 功能更強大。伺服器端腳本可用更多更強大的演算法來增加網頁功能性。

動態網頁的缺點在於:

  1. 需要更多資源才能建立。由於設定數據庫並將其連接到正確頁面所需的額外步驟,動態網站的設置和運行可能會更加複雜,這也意味著成本更高。
  2. 性能問題。動態網站比靜態網站有更多的處理指令,不斷從數據庫提取信息以顯示網頁內容都需要時間來處理和執行。