客户端-服务器架构
客户端-服务器架构(英語:Client-server model),也称C/S架构、主
主從式架構通过不同的途径应用于很多不同类型的应用程序,最常见的用途为万维网上的网页。例如,当在维基百科阅读文章时,电脑和网页浏览器即为客户端;同时,组成维基百科的电脑、数据库和应用程序即为服务器。当网页浏览器向维基百科请求指定的页面时,维基百科服务器从维基百科的数据库中找出所有该页面需要的信息,结合成一个网页,再发送回浏览器。
特征
主從式架構意图提供一个可伸缩(英語:scalable)的架构,借此网上的计算机或者处理过程是一个客户端或者服务器。服务器软件一般,但不总是,运行在强大的专用商业计算机上。另一方面,客户端一般运行在普通个人电脑或者工作站上。
服務端的特徵:
- 被動的角色(從)。
- 等待來自用戶端的请求。
- 處理请求並傳回結果。
用戶端的特徵:
- 主動的角色(主)。
- 發送请求。
- 等待直到收到响应。
服务器可以是有状态或者无状态的。无状态的服务器不会保留任何两个请求之间的信息,有状态服务器会记住请求之间的信息。这些信息的作用域可以是全局的或者某个事务 (session)的。像Apache HTTP等只提供静态HTML页面的网页服务器是一个无状态服务器的例子,像Apache Tomcat等网页应用服务器是一个有状态服务器。
伺服端與用戶端的互動經常使用循序圖描述,循序圖是UML中的一個標準。
與點對點技術的比較
另一種目前廣範使用的網路架構類型是点对点架构(P2P),不同於主從式架構,網路上的每個使用端或程式的實體都擁有相同的等級,同時扮演用戶端與伺服器的角色。
参见
其他网络架构
参考文献
- ^ 辭典檢視 [主從式架構 : ㄓㄨˇ ㄗㄨㄥˋ ㄕˋ ㄐㄧㄚˋ ㄍㄡˋ] - 教育部《重編國語辭典修訂本》. 中華民國教育部. (原始内容存档于2022-12-04).
- ^ Distributed Application Architecture (PDF). Sun Microsystem. [2009-06-16]. (原始内容 (PDF)存档于2011-04-06).