1. 程式人生 > >C/S模型和B/S模型

C/S模型和B/S模型

首先了解一下C/S和B/S模型,B/S模型是特殊的C/S模型。

一、C/S模型(客戶/伺服器模型)

1.特點

非對等相互作用,伺服器有客戶端不具備的硬體和軟體資源、運算能力,伺服器提供服務,客戶請求服務。

2.客戶端和伺服器的數量關係

多個客戶程序可以同時訪問一個服務程序,一個客戶程序可以同時訪問多個伺服器提供的服務。

3.客戶端和伺服器的位置關係

客戶端和伺服器執行在同一個機器上,應用於網路應用程式開發測試。
客戶端和伺服器執行在同一個區域網內的不同機器上,應用於區域網檔案共享、區域網印表機。
客戶端和伺服器執行與廣域網不同網路內的機器上,應用於最常見的網路應用程式。

4.客戶端和伺服器的角色關係

應用程式作為純粹的客戶執行,如Web伺服器。
應用程式作為純粹的伺服器執行,如區域性基本功能的ftp伺服器。
應用程式同時具備客戶和伺服器的兩種角色。

5.工作過程

伺服器首先啟動監聽程式,對指定的埠進行監聽,等待接收客戶端的連線請求。
客戶端啟動程式,請求連線伺服器的指定埠。
伺服器收到客戶端的連線請求後,與客戶端建立套接字連線。
連線建立成功,客戶端與伺服器分別開啟兩個流,其中客戶端的輸入流連線到伺服器的輸出流,伺服器的輸入流連線到客戶端的輸出流,兩邊的流連線成功後進行雙向通訊。
當通訊完畢後,客戶端和伺服器兩邊各自斷開連線。

6.優點

結構簡單。
支援分散式、併發環境,有效提高資源的利用率和共享程度。
伺服器集中管理資源,有利於許可權控制和系統安全。
可擴充套件性較好,客戶和伺服器均可單獨升級。

7.模型組成

客戶端程式+伺服器程式,如微信客戶端版、PC版的網路遊戲。

二、B/S模型(瀏覽器/伺服器模型)

1.概念

B/S模型是特殊的C/S模型,特殊在於,客戶端軟體特指瀏覽器,使用HTTP協議通訊。用同用瀏覽器實現原來需要複雜專用軟體才能實現的客戶功能,節約了開發成本。

2.三層架構

表示層、邏輯層、資料層。
客戶端表示層,由Web瀏覽器組成,不存放任何應用程式。
事務邏輯層,由一臺或多臺伺服器組成,具有良好的可擴充套件性。
資料處理層,有資料庫系統組成,用於存放業務資料。

3.工作過程

建立TCP連線。
瀏覽器向伺服器傳送請求。(HTTP請求)
瀏覽器傳送請求頭資訊。
伺服器應答。(HTTP響應)
伺服器傳送應答頭資訊。
伺服器向瀏覽器傳送資料。
伺服器關閉TCP連線。

4.優點:

易部署
容易維護
頁面動態重新整理,響應速度明顯降低。

5.模型組成

Web瀏覽器+伺服器,如微信網頁版、網頁線上遊戲。