iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0
自我挑戰組

一個月的後端學習之旅系列 第 23

【DAY23】 靜態與動態網頁、網頁開發工具

  • 分享至 

  • xImage
  •  

靜態網頁 static websites

靜態網頁中的內容就是HTML, CSS, Java Script所創建的網頁

靜態網站上的每個頁面都存儲為單個 HTML 文件,該文件完全按原樣從伺服器直接傳送到用戶端

如果把靜態網頁部屬到雲端上,例如放到netlify(伺服器server),netlify只需將存好的資料送到客戶端client就好

優點:

  1. 更快的頁面加載速度

由於網頁都以預先製作完成,伺服器的工作只是傳送文件, 無需從數據庫找資料或在server side script做驗證等工作,所以加載速度會比動態網頁快速。由於頁面加載速度是谷歌評估網站性能的關鍵部分(對 SEO 和排名性能有影響),這個優點不應被低估

  1. 創建與部署快速

靜態網站的創建和發布速度更快,因為它們複雜度較低,並且不需要有組織的連接到資料庫。網頁製作完成後,靜態網頁的部署較簡單,因為只需要將文件放置到伺服器上即可。相對的,動態網頁需要避免資料庫被駭客入侵、攻擊,設定伺服器端腳本與資料庫都需要額外工作

  1. 安全性較高

靜態網頁不與數據庫連接,也不使用外部套件。數據庫與外部套件都可以成為攻擊的常見入口點

缺點:

  1. 有限的可擴展性

可擴展性 -> 做好一個模板,連結數據庫之後,數據庫有甚麼,網頁就會有不同樣子

雖然可以使用靜態網站構建數百個頁面,但這始終是一個緩慢而漫長的過程。網頁因為沒有連結儲存使用者資訊的數據庫,無法針對每個使用者提供客製化的內容

  1. 管理效率低

靜態網站的創建速度可能更快,但管理起來可能更耗時。 因為需要逐頁編輯靜態網站,並且隨著網站頁面更多,不斷大量更新快速變化的內容耗時又耗力

動態網頁

使用伺服器端腳本server-side script和技術構建的動態網站允許根據用戶行為,即時地顯示每個頁面的不同內容

通常動態網站用於內容繁重且與用戶互動頻繁的網站

電子商務網站、社群網站、在線論壇、會員網站、串流影音平台等等是其他常見的動態網頁類型

優點:

  1. 維護更容易且更快
    使用數據庫來儲存資料,每個網頁的製作依賴伺服器端腳本server-side script去抓取資訊並且生成網站

  2. 可擴展性
    若從一開始就沒有計劃建立一個大型網站,動態網站的架構也可以讓我們在必要時進行擴展

  3. 更好的用戶體驗
    動態網站提供根據用戶需求量身定制的內容

  4. 功能更強大
    伺服器端腳本可用更多更強大的演算法來增加網頁功能性

缺點:

  1. 需要更多資源才能建立
    由於設定數據庫並將其連接到正確頁面所需的額外步驟,動態網站的設置和運行可能會更加複雜,這也意味著成本更高

  2. 性能問題
    動態網站比靜態網站有更多的處理指令,不斷從數據庫提取信息以顯示網頁內容都需要時間來處理和執行

後端網頁開發工具

  • PHP、Laravel (PHP 套件Framework)
  • Node.js, Express.js (Server-Side JavaScript)
  • Java 、Java Spring Framework
  • Ruby on Rails
  • Python Django、Flask Framework

過去採用Java、Ruby作為後端開發的原因,是因為JavaScript沒辦法直接拿來當成一門程式語言,獨立於瀏覽器來運作

認識 Node.js

Node.js 是能夠在伺服器端運行 JavaScript 的開放原始碼、跨平台執行環境

在 Node.js 出現之前,JavaScript 通常作為瀏覽器上的客戶端程式設計語言使用,以JavaScript 寫出的程式通常能夠在使用者的瀏覽器上執行

Node.js 的出現使 JavaScript 也能用於伺服器端腳本編寫,其內部採用V8 JavaScript執行引擎作為核心引擎

下一篇文章學習Module Wrapper。


上一篇
【DAY22】繼承、原型鏈、Prototype Inheritance in Constructors
下一篇
【DAY24】Module Wrapper
系列文
一個月的後端學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言