客戶端-服務器模式


客戶端-服務器模式

定義:客戶端-服務器模式(Client–server model)簡稱C/S結構,是一種網絡架構,它把客戶端 (Client) 與服務器 (Server) 區分開來。每一個客戶端軟件的實例都可以向一個服務器或應用程序服務器發出請求。

 

C/S結構:Client/Server結構(C/S結構)是大家熟知的客戶機和服務器結構。它是軟件系統體系結構,通過它可以充分利用兩端硬件環境的優勢,將任務合理分配到Client端和Server端來實現,降低了系統的通訊開銷。

 

客戶端進程:

這是一個過程,這通常使得信息請求。得到回應后,這一過程可能會終止或可能會做一些其他的處理。

例如: 互聯網瀏覽器作為一個客戶端應用程序,Web服務器發送一個請求到得到一個HTML網頁。

服務器進程:

它接受一個來自客戶端的請求的過程。獲得來自客戶端的請求后會處理所需的收集所需的信息,將其發送到請求客戶端。一旦這樣做完成后,就又變成准備為另一個客戶端。服務器進程始終等待准備用於處理傳入請求。

實例: Web服務器一直等待來自互聯網瀏覽器的請求,並盡快得到任何請求從瀏覽器,它拿起一個請求的HTML頁面,並把它發送回該瀏覽器。

注意,客戶端需要知道的存在服務器的地址,但是服務器並不需要在建立的連接之前知道客戶端的地址。一旦建立連接后,雙方都可以發送和接收信息。

2層和3層架構:

有兩種類型的客戶端服務器架構:

  • 兩層構架: 在這種架構中,客戶端直接與服務器進行交互。這種類型的架構可能有一些安全漏洞和性能問題。 IE瀏覽器和Web服務器的兩層架構。這里的安全問題都解決了使用安全套接字層(SSL)。

  • 三層架構:在這個架構中,多了一個軟件位於客戶端和服務器之間。這中間的軟件被稱為中間件。中間件被用來執行所有的安全檢查和重負載情況下的負載平衡。中間件需要從客戶端的所有請求,並做必要的驗證后,通過向服務器發出請求。然后,服務器沒有所需的處理和發送響應回中間件,中間件終於通過這個響應返回給客戶端。如果想實現一個3層架構,那么可以使用如Web Logic或WebSphere軟件在Web服務器和Web瀏覽器之間的任何中間件。

優點:
(1)可實現資源共享。C/L結構中的資源是分布的,客戶機與服務器具有一對多的關系和運行環境。用戶不僅可存取在服務器和本地工作站上的資源,還可以享用其他工作站上的資源,實現了資源共享。

(2)可實現管理科學化和專業化。系統中的資源分布在各服務器和工作站上,可以采用分層管理和專業化管理相結合的方式,用戶有權去充分利用本部門、本領域的專業知識來參與管理,使得各級管理更加科學化和專業化。

(3)可快速進行信息處理。由於在 C/S 結構中是一種基於點對點的運行環境,當一項任務提出請求處理時,可以在所有可能的服務器間均衡地分布該項任務的負載。這樣,在客戶端發出的請求可由多個服務器來並行進行處理,為每一項請求提供了極快的響應速度和較高的事務吞吐量。

(4)能更好地保護原有的資源。由於C/S是一種開放式的結構,可有效地保護原有的軟、硬件資源。以前,在其他環境下積累的的數據和軟件均可在C/S中通過集成而保留使用,並且可以透明地訪問多個異構的數據源和自由地選用不同廠家的數據應用開發工具,具有高度的靈活性;而以前的硬件亦可完全繼續使用,當在系統中增加硬件資源時,不會減弱系統的能力,同時客戶機和服務器均可單獨地升級,故具有極好的可擴充性。

服務端的特征:

  • 被動的角色(從)。
  • 等待來自用戶端的要求。
  • 處理要求並傳回結果。

客戶端特征:

  • 主動的角色(主)。
  • 發送要求。
  • 等待直到收到回應。
服務器可是有狀態或者無狀態的。無狀態的服務器不會保留任何兩個請求之間的信息,有狀態服務器會記住請求之間的信息。這些信息的作用域可以是全局的或者某個事務 (session)的。靜態 HTML 頁面服務器是一個無狀態服務器的例子,Apache Tomcat 是一個有狀態服務器。
服務器端與用戶端的互動經常使用循序圖描述,循序圖是UML中的一個標准。
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM