B/S架構的原理與總結
一. B/S的概念
B/S(Brower/Server,瀏覽器/伺服器)模式又稱B/S結構,是Web興起後的一種網路結構模式。Web瀏覽器是客戶端最主要的應用軟體。
這種模式統一了客戶端,將系統功能實現的核心部分集中到伺服器上,簡化了系統的開發、維護和使用;
客戶機上只需要安裝一個瀏覽器,伺服器上安裝SQL Server, Oracle, MySql等資料庫;瀏覽器通過Web Server同資料庫進行資料互動。
二. B/S工作原理
B/S架構採取瀏覽器請求,伺服器響應的工作模式。
使用者可以通過瀏覽器去訪問Internet上由Web伺服器產生的文字、資料、圖片、動畫、視訊點播和聲音等資訊;
而每一個Web伺服器又可以通過各種方式與資料庫伺服器連線,大量的資料實際存放在資料庫伺服器中;
從Web伺服器上下載程式到本地來執行,在下載過程中若遇到與資料庫有關的指令,由Web伺服器交給資料庫伺服器來解釋執行,並返回給Web伺服器,Web伺服器又返回給使用者。在這種結構中,將許許多多的網連線到一塊,形成一個巨大的網,即全球網。而各個企業可以在此結構的基礎上建立自己的Internet。
一張圖看懂B/S架構工作原理:
工作流程:
1. 客戶端傳送請求: 使用者在客戶端【瀏覽器頁面】提交表單操作,向伺服器傳送請求,等待伺服器響應;
2. 伺服器端處理請求: 伺服器端接收並處理請求,應用伺服器端通常使用伺服器端技術,如JSP等,對請求進行資料處理,併產生響應;
3. 伺服器端傳送響應: 伺服器端把使用者請求的資料(網頁檔案、圖片、聲音等等)返回給瀏覽器。
4. 瀏覽器解釋執行HTML檔案,呈現使用者介面。
♦ 瀏覽器:
是閱讀和瀏覽Web的工具,它是通過B/S方式與Web伺服器互動資訊的。
一般情況下,瀏覽器就是客戶端,它要求伺服器把指定資訊傳送過來,然後通過瀏覽器把資訊顯示在螢幕上。
瀏覽器實際上是一種允許使用者瀏覽Web資訊的軟體,只不過這些資訊是由Web伺服器傳送出來的。
♦ 伺服器:
伺服器(Server),它既是計算機硬體的稱謂,有時又是計算機服務端軟體的稱謂,使用者應該區分開它們,主要就是從語境上去區分。
(1)、伺服器是一種計算機硬體:伺服器應該算是一種高效能的計算機,它作為網路的節點,儲存、處理網路上的資料、資訊,因此也被稱為網路的靈魂。
(2)、伺服器是一種計算機軟體:一般IIS伺服器、Java伺服器、.NET伺服器等名詞,一般都是指一種計算機軟體。當用戶使用計算機上網時,其實是訪問伺服器硬體。但 是,這個伺服器硬體上安裝了伺服器軟體,例如IIS伺服器、Java伺服器、.NET伺服器,它們負責接收使用者的訪問請求,並根據請求經過計算將資料返回給使用者的客戶端(瀏覽器)。
伺服器軟體分為兩類:一類是Web伺服器;另一類是應用程式伺服器(簡稱為App Server)。IIS伺服器和Apache是最常用的Web伺服器軟體;Java伺服器、.NET伺服器、PHP伺服器是最常用的應用程式伺服器軟體。
(3)、Web伺服器:Web伺服器實際上是一種連線在Internet上的計算機軟體。它負責Web瀏覽器提交的文字請求。
♦ Web應用程式:
最簡單的Web應用程式其實就是一些HTML檔案和其它的一些資原始檔組成的集合。
Web站點則可以包含多個Web應用程式。它們位於Internet上的一個伺服器中,一個Web站點其實就對應著一個網路伺服器(Web伺服器).
三. B/S的優點:
1. B/S最大的優點就是可以在任何地方進行操作而不用安裝任何專門的軟體,只要有一臺能上網的電腦就能使用,客戶端零安裝、零維護。系統的擴充套件非常容易。
2. 由需求推動了AJAX技術的發展,它的程式也能在客戶端電腦上進行部分處理,從而大大的減輕了伺服器的負擔;並增加了互動性,能進行區域性實時重新整理。
3. B/S結構主要利用了不斷成熟的Web瀏覽器技術:結合瀏覽器的多種指令碼語言和ActiveX技術,用通用瀏覽器實現原來需要複雜專用軟體才能實現的強大功能,節約了開發成本。
四. B/S體系結構的特點:
1. 由於Web支援底層的TCP/IP協議,使Web網與區域網都可以做到連線,從而徹底解決了異構系統的連線問題。
2. 由於Web採用了“瘦客戶端”,使系統的開放性得到很大的改善,系統對將要訪問系統的使用者數的限制有所放鬆。
3. 系統的相對集中性使得系統的維護和擴充套件變得更加容易。比如資料庫儲存空間不夠,可再加一個數據庫伺服器;系統要增加功能,可以新增—個應用伺服器來執行新功能。
4. 介面統一(全部為瀏覽器方式),操作相對簡單。
5. 業務規則和資料捕獲的程式容易分發。
五. 與傳統C/S的聯絡與區別:
• C/S(Client/Server),即客戶端/服務端
我們把響應服務的計算機稱為伺服器,接受請求服務的計算機成為客戶機【也叫工作站(workstations)】。
C/S架構軟體(即客戶機/伺服器模式)分為客戶機和伺服器兩層:第一層是在客戶機系統上結合了表示與業務邏輯,第二層是通過網路結合了資料庫伺服器。
簡單的說就是第一層是使用者表示層,第二層是資料庫層。需要程式設計師自己寫客戶端。
• B/S(Brower/Server),即瀏覽器/伺服器
B/S 與C/S 的兩層架構不同,它採取三層架構。只要有瀏覽器就可以開啟,具體工作原理如下。
一張圖看懂C/S與B/S的區別:
補充:
1. HTTP處理流程是怎麼樣的?
建立連線-->客戶端瀏覽器傳送請求資訊--->web伺服器解析請求並找到相應的資源將檔案以及其它資訊組成HTTP響應返回客戶端-->關閉連線。
2. 集中式伺服器:
伺服器,是擔負服務任務的機器。這些服務任務由一般專門的軟體來完成。
一般地,把具有某種服務功能的伺服器軟體及其所在的機器,都統稱為XX伺服器(XX表示某種具體服務)。
這些軟體可以集中於一臺機器中(如圖5),這樣的機器可以稱為集中式伺服器;也可以單獨存在於某臺機器中,這樣的機器可以稱為獨立式伺服器,多個獨立式伺服器可組成伺服器群或矩陣。
由交換機可以將多個伺服器連線起來稱為一個伺服器群,以下是常見的伺服器軟體: