Back

[Web] 0. 基本概念 - 網站架構

網站架構
網站架構

網站架構

上圖是一種常見的網站架構,為前後端分離,分別由前端後端資料庫所組成,本系列會以此架構進行講解。

前端

前端負責顯示頁面,讓使用者瀏覽操作,使用者可以點擊按鈕等物件進行互動及獲得反饋。

後端

後端負責處理邏輯業務,使用者會透過操作前端頁面向後端發送請求,後端接收請求後會進行對應處理,如註冊、登入等,並回傳資料回前端。

資料庫

資料庫負責儲存資料,紀錄各種資訊,如使用者的帳號及密碼等,後端會連線至資料庫進行互動存取。

常見使用情境

這邊舉幾個常見的例子供大家參考:

使用者註冊

  1. 使用者打開網站 (在瀏覽器輸入網址),前端將頁面顯示給使用者
  2. 使用者前往註冊頁面輸入欲設立之帳號密碼後,點擊註冊按鈕
  3. 帳號密碼會被發送至後端,請求後端註冊此帳號密碼
  4. 後端接收請求後,將密碼儲存至資料庫 (這步驟的密碼可能會先經過 hash)
  5. 若成功儲存至資料庫,則回傳成功的結果給前端,使用者收到註冊成功的通知,否則收到註冊失敗

使用者登入

  1. 使用者打開網站 (在瀏覽器輸入網址),前端將頁面顯示給使用者
  2. 使用者前往登入頁面輸入帳號密碼後,點擊登入按鈕
  3. 帳號密碼會被發送至後端,請求後端登入此帳號密碼
  4. 後端接收請求後,透過 email 查詢資料庫裡是否有該組帳號密碼,沒有則回傳登入失敗
  5. 比較查詢出的密碼是否正確 (hash compare),不正確則回傳登入失敗
  6. 正確時會產生 token 之類的身分憑證,回傳時一併發送至前端,前端保存憑證以進行後續操作,使用者收到登入成功的通知

使用者查詢個人資料

  1. 使用者登入後,前往個人頁面
  2. 前端持登入產生的 token 發送請求至後端,要求後端提供個人資料
  3. 後端接收請求後,從 token 解析出使用者的身分 (id / email 等),若解析失敗則回傳查詢失敗
  4. 透過 email 查詢資料庫裡是否有該使用者的資料,沒有則回傳查詢失敗
  5. 否則回傳查詢的結果給前端,使用者收到自己的個人資料

結語

本章節帶各位初步認識了網站的基本運作原理,讓大家有基礎的概念,對後續文章能以更快的速度理解。

前後端分離的架構其實是從 MVC 的概念延伸而來的,將工作職責切分開來,前端專心在 UI/UX 上,後端專心在邏輯業務。 同時前後端分離在測試上相對方便。且只要 API 相同,即可抽換成不同的後端程式,不需要重寫前端的介面。

下一章將介紹 API,讓大家知道前後端之間是如何進行溝通的。

CC BY-NC-ND
Last updated on Jan 18, 2023 23:02 +0800
Built with Hugo
Theme Stack designed by Jimmy
© Licensed Under CC BY-NC-SA 4.0