用戶端-伺服器架構(英語:Client-server model),也稱C/S架構、主
主從式架構通過不同的途徑應用於很多不同類型的應用程式,最常見的用途為萬維網上的網頁。例如,當在維基百科閱讀文章時,電腦和網頁瀏覽器即為用戶端;同時,組成維基百科的電腦、資料庫和應用程式即為伺服器。當網頁瀏覽器向維基百科請求指定的頁面時,維基百科伺服器從維基百科的資料庫中找出所有該頁面需要的資訊,結合成一個網頁,再傳送回瀏覽器。
特徵
主從式架構意圖提供一個可伸縮(英語:scalable)的架構,藉此網上的電腦或者處理過程是一個用戶端或者伺服器。伺服器軟件一般,但不總是,執行在強大的專用商業電腦上。另一方面,用戶端一般執行在普通個人電腦或者工作站上。
伺服器端的特徵:
- 被動的角色(從)。
- 等待來自用戶端的請求。
- 處理請求並傳回結果。
用戶端的特徵:
- 主動的角色(主)。
- 傳送請求。
- 等待直到收到響應。
伺服器可以是有狀態或者無狀態的。無狀態的伺服器不會保留任何兩個請求之間的資訊,有狀態伺服器會記住請求之間的資訊。這些資訊的作用域可以是全域的或者某個事務 (session)的。像Apache HTTP等只提供靜態HTML頁面的網頁伺服器是一個無狀態伺服器的例子,像Apache Tomcat等網頁應用伺服器是一個有狀態伺服器。
伺服端與用戶端的互動經常使用循序圖描述,循序圖是UML中的一個標準。
與點對點技術的比較
另一種目前廣範使用的網絡架構類型是對等架構(P2P),不同於主從式架構,網絡上的每個使用端或程式的實體都擁有相同的等級,同時扮演用戶端與伺服器的角色。
參見
其他網絡架構
參考文獻
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.