客戶端 伺服器模式

2021-10-01 20:11:59 字數 1513 閱讀 7463

目錄

客戶端-伺服器模式

客戶端程序:

伺服器程序:

2層和3層架構:

服務端的特徵:

客戶端特徵:

定義:客戶端-伺服器模式(client–server model)簡稱c/s結構,是一種網路架構,它把客戶端 (client) 與伺服器 (server) 區分開來。每乙個客戶端軟體的例項都可以向乙個伺服器或應用程式伺服器發出請求。

c/s結構:client/server結構(c/s結構)是大家熟知的客戶機和伺服器結構。它是軟體

系統體系結構,通過它可以充分利用兩端硬體環境的優勢,將任務合理分配到client端和server端來實現,降低了系統的通訊開銷。

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

例如: 網際網路瀏覽器作為乙個客戶端應用程式,web伺服器傳送乙個請求到得到乙個html網頁。

它接受乙個來自客戶端的請求的過程。獲得來自客戶端的請求後會處理所需的收集所需的資訊,將其傳送到請求客戶端。一旦這樣做完成後,就又變成準備為另乙個客戶端。伺服器程序始終等待準備用於處理傳入請求。

例項: web伺服器一直等待來自網際網路瀏覽器的請求,並盡快得到任何請求從瀏覽器,它拿起乙個請求的html頁面,並把它傳送回該瀏覽器。

注意,客戶端需要知道的存在伺服器的位址,但是伺服器並不需要在建立的連線之前知道客戶端的位址。一旦建立連線後,雙方都可以傳送和接收資訊。

有兩種型別的客戶端伺服器架構:

優點:

(1)可實現資源共享。c/l結構中的資源是分布的,客戶機與伺服器具有一對多的關係和執行環境。使用者不僅可訪問在伺服器和本地工作站上的資源,還可以享用其他工作站上的資源,實現了資源共享。

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

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

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

伺服器可是有狀態或者無狀態的。無狀態的伺服器不會保留任何兩個請求之間的資訊,有狀態伺服器會記住請求之間的資訊。這些資訊的作用域可以是全域性的或者某個事務 (session)的。靜態 html 頁面伺服器是乙個無狀態伺服器的例子,apache tomcat 是乙個有狀態伺服器。

伺服器端與使用者端的互動經常使用循序圖描述,循序圖是uml中的乙個標準。

客戶端 伺服器模式分析

客戶端 伺服器模式定義 架構模式是乙個通用的 可重用的解決方案,用於在給定上下文中的軟體體系結構中經常出現的問題。架構模式與軟體設計模式類似,但具有更廣泛的範圍。維基百科 而客戶端 伺服器模式由兩部分組成 乙個伺服器和多個客戶端。伺服器元件將為多個客戶端元件提供服務。客戶端從伺服器請求服務,伺服器為...

伺服器客戶端程式設計模式思考

這一陣子一直在搞企業資訊化中公文流轉等相關模組,其實在之前已經開發了oa系統的幾個常用模組。由於之前oa系統中的工作流一直沒有搞明白,又是電子簽名,又是工作流,搞得我不知所云,所以我一直不敢動手。好在現在有強大的網路,在網上看了幾個程式,一種 山窮水復疑無路,柳暗花明又一村 的感覺。下面是我的從網上...

Docker的客戶端伺服器模式

docker提供了remote api,類似於restful 風格的api,我們可以呼叫remote api將自己的程式和docker整合,從而執行我們的程式在docker上。docker的c s 模式的連線方式 客戶端與守護程序的連線方式 docker守護程序的配置和操作 使用service命令啟...