深入理解C/S和B/S兩種結構

1. C/S結構

概念:客戶機-服務器,即Client-Server(C/S)結構。C/S結構通常採取兩層結構。服務器負責數據的管理,客戶機負責完成與用戶的交互任務,例如手機用的QQ、微信。

C/S只有兩層結構:
第一層:表示層, 在客戶機系統上結合了界面顯示與業務邏輯;
第二層:數據層, 通過網絡結合了數據庫服務器。
在這裏插入圖片描述
優點:

  • C/S架構的界面和操作可以很豐富。
  • 安全性能可以很容易保證,實現多層認證也不難。
  • 由於只有一層交互,因此響應速度較快。

缺點:

  • 適用面窄,通常用於局域網中。
  • 用戶羣固定。由於程序需要安裝纔可使用,因此不適合面向一些不可知的用戶。
  • 維護成本高,發生一次升級,則所有客戶端的程序都需要改變。

2. B/S結構

概念:瀏覽器-服務器,即Browser-Server(B/S)結構,隨着Internet技術的興起,對C/S架構的一種變化或者改進的架構。在這種架構下,用戶工作界面是通過WWW瀏覽器來實現,極少部分事務邏輯在前端(Browser)實現,但是主要事務邏輯在服務器端(Server)實現,形成所謂三層3-tier結構,例如網頁版遊戲,網頁版QQ,網頁版微信等等。

B/S有三層次結構(聯想一下MVC開發模式):
第一層:表現層,主要完成用戶和後臺的交互及最終查詢結果的輸出功能。
第二層:邏輯層,主要是利用服務器完成客戶端的應用邏輯功能。
第三層:數據層,主要是接受客戶端請求後獨立進行各種運算。
在這裏插入圖片描述

優點:

  • 客戶端無需安裝,有Web瀏覽器即可。
  • BS架構可以直接放在廣域網上,通過一定的權限控制實現多客戶訪問的目的,交互性較強。
  • BS架構無需升級多個客戶端,升級服務器即可。

缺點:

  • 在跨瀏覽器上,BS架構不盡如人意。
  • 表現要達到CS程序的程度需要花費不少精力。
  • 在速度和安全性上需要花費巨大的設計成本,這是BS架構的最大問題。
  • 客戶端服務器端的交互是請求-響應模式,通常需要刷新頁面,這並不是客戶樂意看到的。(在Ajax風行後此問題得到了一定程度的緩解)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章