1. 程式人生 > >深入理解B/S架構

深入理解B/S架構

最近看招聘資訊很多都要求理解B/S架構,自己面試時也被問到過這個問題,查找了一些資料,整理出這篇部落格。
一: B/S的概念
B/S(Brower/Server,瀏覽器/伺服器)模式又稱B/S結構,是Web興起後的一種網路結構模式。
瀏覽器是客戶端最主要的應用軟體,客戶機上只需要安裝一個瀏覽器,瀏覽器通過Web Server(網站伺服器)同資料庫進行資料互動,瀏覽器負責介面顯示邏輯和極少數的事務邏輯,主要的事務邏輯在伺服器端實現,將系統功能實現的核心部分集中到伺服器上,簡化了系統的開發、維護和使用。
二:什麼是瀏覽器和伺服器:
♦ 瀏覽器:是閱讀和瀏覽Web的工具,它是通過B/S方式與Web伺服器互動資訊的。
一般情況下,瀏覽器就是客戶端,它要求伺服器把指定資訊傳送過來,然後通過瀏覽器把資訊顯示在螢幕上。瀏覽器實際上是一種允許使用者瀏覽Web資訊的軟體,這些資訊是由Web伺服器傳送出來的。
♦ 伺服器: 伺服器(Server),它既是計算機硬體的稱謂,有時又是計算機服務端軟體的稱謂。
使用者應該區分開它們,主要就是從語境上去區分。
(1)伺服器是一種計算機硬體:伺服器應該算是一種高效能的計算機,它作為網路的節點,儲存、處理網路上的資料、資訊,因此也被稱為網路的靈魂。
(2)伺服器是一種計算機軟體:一般IIS伺服器、Java伺服器、.NET伺服器等名詞,,伺服器實際上是一種連線在Internet上的計算機軟體。它負責Web瀏覽器提交的文字請求。當用戶使用計算機上網時,其實是訪問伺服器硬體。但是,這個伺服器硬體上安裝了伺服器軟體,例如IIS伺服器、Java伺服器、.NET伺服器,它們負責接收使用者的訪問請求,並根據請求,經過計算將資料返回給使用者的客戶端(瀏覽器)
三:B/S系統架構圖
通常由瀏覽器、網站伺服器、資料庫伺服器形成三層架構


第一層表現層:主要完成使用者和後臺的互動及最終查詢結果的輸出功能。
第二層邏輯層:主要是利用伺服器完成客戶端的應用邏輯功能。
第三層資料層:主要是接受客戶端請求後獨立進行各種運算。
在這裡插入圖片描述
四:B/S架構的優點:
1、客戶端無需安裝,有Web瀏覽器即可。
2、B/S架構可以直接放在廣域網上,通過一定的許可權控制實現多客戶訪問的目的,互動性較強。
3、B/S架構客戶端維護和升級方式簡單,可以隨時更新版本,且無需使用者重新下載, 系統的擴充套件非常容易。
4、B/S結構利用了不斷成熟的Web瀏覽器技術:結合瀏覽器的多種指令碼語言,用通用瀏覽器實現原來需要複雜專用軟體才能實現的強大功能,節約了開發成本。
五:B/S架構的缺點:
1、在跨瀏覽器上,B/S架構不盡如人意。
2、功能弱化,存在無法實現的功能, 效能相對較低;
3、在速度和安全性上需要花費巨大的設計成本,這是BS架構的最大問題。
4、客戶端伺服器端的互動是請求-響應模式,通常需要重新整理頁面,這並不是客戶樂意看到的。(在Ajax風行後此問題得到了一定程度的緩解)
六:B/S與C/S的對比
其實B/S架構的缺點都是參照C/S架構來說的,本文不詳細介紹C/S架構,簡單描述一下
C/S架構是第一種比較早的軟體架構,主要用於區域網內。也叫 客戶機/伺服器模式。
它可以分為客戶機和伺服器兩層:第一層是在客戶機系統上結合了介面顯示與業務邏輯,第二層是通過網路結合了資料庫伺服器。簡單的說就是第一層是使用者表示層,第二層是資料庫層。介面表示、事務處理邏輯放在客戶端,服務端主要負責資料的儲存管理式。
這是一張對比兩種架構的圖片
在這裡插入圖片描述

找了很多B/S架構相關的技術知識,梳理了一下學習順序,整理也是一種再創作,在這個過程中加深了自己對技術的理解。