C/S和B/S兩種架構區別與優缺點分析

C/S和B/S兩種架構區別與優缺點分析

C/SB/S,是再普通不過的兩種軟件架構方式,都可以進行同樣的業務處理,甚至也可以用相同的方式實現共同的邏輯。既然如此,爲何還要區分彼此呢?那我們就來看看二者的區別和聯繫。

C/S 架構

概念

C/S 架構是一種典型的兩層架構,其全程是Client/Server,即客戶端服務器端架構,其客戶端包含一個或多個在用戶的電腦上運行的程序,而服務器端有兩種,一種是數據庫服務器端,客戶端通過數據庫連接訪問服務器端的數據;另一種是Socket服務器端,服務器端的程序通過Socket與客戶端的程序通信。

C/S 架構也可以看做是胖客戶端架構。因爲客戶端需要實現絕大多數的業務邏輯和界面展示。這種架構中,作爲客戶端的部分需要承受很大的壓力,因爲顯示邏輯和事務處理都包含在其中,通過與數據庫的交互(通常是SQL或存儲過程的實現)來達到持久化數據,以此滿足實際項目的需要。

優點和缺點

優點

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

缺點

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

B/S架構

概念

B/S架構的全稱爲Browser/Server,即瀏覽器/服務器結構。Browser指的是Web瀏覽器,極少數事務邏輯在前端實現,但主要事務邏輯在服務器端實現,Browser客戶端,WebApp服務器端和DB端構成所謂的三層架構。B/S架構的系統無須特別安裝,只有Web瀏覽器即可。

B/S架構中,顯示邏輯交給了Web瀏覽器,事務處理邏輯在放在了WebApp上,這樣就避免了龐大的胖客戶端,減少了客戶端的壓力。因爲客戶端包含的邏輯很少,因此也被成爲瘦客戶端。

優點和缺點

優點

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

缺點

  1. 在跨瀏覽器上,BS架構不盡如人意。
  2. 表現要達到CS程序的程度需要花費不少精力。
  3. 在速度和安全性上需要花費巨大的設計成本,這是BS架構的最大問題。
  4. 客戶端服務器端的交互是請求——響應模式,通常需要刷新頁面,這並不是客戶樂意看到的。(在Ajax風行後此問題得到了一定程度的緩解)。

B/S對C/S的改進和擴展

正如前文所說,C/SB/S都可以進行同樣的業務處理,但是B/S隨着Internet技術的興起,是對C/S結構的一種改進或者擴展的結構。相對於C/SB/S具有如下優勢:

  1. 分佈性:可以隨時進行查詢、瀏覽等業務
  2. 業務擴展方便:增加網頁即可增加服務器功能
  3. 維護簡單方便:改變網頁,即可實現所有用戶同步更新
  4. 開發簡單,共享性強,成本低,數據可以持久存儲在雲端而不必擔心數據的丟失。

主流Web程序應用平臺

一個動態網站服務器平臺至少要包括:操作系統+Web服務器+應用程序服務+數據庫。一個優秀的網站服務器是由多方面因素決定的,如個人喜好、部署費用、安全機制等。而現在主流的三種Web平臺:ASP.NETJavaEELAMP各有優缺點,以滿足不同的需要和用戶。三者比較如下:

 

三種平臺的各部分組合:

ASP.NET:Windows Server+IIS+SQL Server+ASP

JavaEE:UNIX+Tomcat+Oracle+JSP

LAMP:Linux+Apache+MySQL+PHP

三張圖告訴你Web工作原理

1. 服務器不帶應用程序和數據庫,直接請求HTML文件

2. 服務器帶應用程序(如php)

3.服務器帶應用程序和數據庫

【轉載】https://www.jb51.net/article/56605.htm

發佈了858 篇原創文章 · 獲贊 667 · 訪問量 161萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章