網絡應用程序的架構:C/S架構、B/S架構的區別與優缺點

網絡應用層架構一般分爲兩層架構、三層架構、N層架構。其中B/S架構、C/S架構是兩層架構的代表。

一、C/S架構

C/S架構是Client/Server的縮寫,翻譯過來就是“客戶端/服務器”。

C/S架構的業務邏輯主要集中在客戶端,而這裏的“服務器”,其實可以認爲是數據庫服務器,因爲除了提供基礎的數據庫服務外,服務器並沒有其他的功能。常用於開發應用軟件(application software),也就是QQ、網易雲音樂之類的。

優點:

充分發揮客戶端計算機處理能力,客戶端能將用戶請求處理後再提交給服務器,將用戶請求處理之後再提交給服務器;將服務器提供的數據處理後再以某種方式顯示給客戶,所以客戶端的響應速度較快、網絡通信量低。其次,開發人員在開發單片機應用程序的過程中積累了大量可借鑑的經驗,加之有高效的開發工具支持,所以開發效率很高

缺點:

因爲業務邏輯處理主要集中在客戶端,所以應用需求只要發生變化,即業務邏輯發生改變,就必須對客戶端和服務器端的應用程序都進行修改。服務器端應用程序修改比較容易,主要是服務器數量少,而且涉及數據儲存,改動量較小。但是,新的客戶端應用程序需要重新分發給所有的用戶,工作量大。而且,開發客戶端往往是針對某一操作系統編寫的。如適用於Windows操作系統的軟件,通常不適用於Linux,而且就算都是Windows系統,Windows xp下能運行,但在Windows10下就未必了。基於以上原因,在C/S架構的基礎上又產生了B/S架構。

二、B/S架構

B/S架構是Browser/Server的縮寫,翻譯過來就是“瀏覽器/服務器”。

B/S架構的業務邏輯和數據操作都集中在服務器端 ,而這裏的“服務器”,其實可以認爲是既包含應用服務器,也包含數據服務器,對客戶端進行統一,用戶只需要安裝一個瀏覽器(Browser)。

優點:

B/S架構解決了C/S架構存在部分問題,首先沒有客戶端的差異,用戶只需要安裝瀏覽器,無須另外安裝客戶端。如果應用的業務邏輯發生變化,只需要更新服務端的應用程序就可以了。其次,客戶端將不受到操作系統的限制,目前主流的瀏覽器往往在多種操作系統下都有對應的版本可供使用。

缺點:

增加了服務器端的負擔,因爲業務邏輯集中在服務器端,服務器需要對不同用戶的多次請求鬥做出響應,同時又要對數據庫進行維護,工作量較大。

 

注:部分內容參考於 清華大學出版社 -《Java Web開發基礎——從Servlet 到 JSP》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章