一. 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 的兩層架構不同,它采取三層架構。只要有瀏覽器就可以打開,具體工作原理如下。
補充:
1. HTTP處理流程是怎么樣的?
建立連接-->客戶端瀏覽器發送請求信息--->web服務器解析請求并找到相應的資源將文件以及其它信息組成HTTP響應返回客戶端-->關閉連接。
2. 集中式服務器:
服務器,是擔負服務任務的機器。這些服務任務由一般專門的軟件來完成。
一般地,把具有某種服務功能的服務器軟件及其所在的機器,都統稱為XX服務器(XX表示某種具體服務)。
這些軟件可以集中于一臺機器中(如圖5),這樣的機器可以稱為集中式服務器;也可以單獨存在于某臺機器中,這樣的機器可以稱為獨立式服務器,多個獨立式服務器可組成服務器群或矩陣。
由交換機可以將多個服務器連接起來稱為一個服務器群,以下是常見的服務器軟件: