客户/服务器(Client/Server)结构

在信息处理系统中,通常由若干台计算机组成。提供数据和服务的机器,称为服务器(Server),向服务器提出请求数据和服务的计算机称为客户(Client),我们称这样的工作模型为客户/服务器(Client/Server)模型,简称C/S模型。
在广义上说,客户、服务器也可以是进程。因此,C/S模型可以在单处理器的计算机系统中实现。

模型优点:
简化软件产品的设计
这种结构把软件分成两个部分,客户部分可专门解决应用问题、界面设计、人机交互等方面,服务器则侧重于服务操作的实现、数据的组织,以及系统性能等。
提高软件的可靠性
在这种结构风格的系统中,不仅客户与服务器是独立的,服务器与服务器之间也是独立的,一个服务由一个服务器完成,它不影响其他服务器的工作。
适合分布式计算环境
C/S模型的软件中,Client与服务器之间的通信通常是以消息传递方式实现,对客户来说,它只关心服务请求的结果能正确地获得,而至于服务的处理是在本地还是在远程并不重要。

模型工作过程

  1. 客户方处于主动,向服务器提出服务请求,而服务器处于被动,服务器进程启动后,就处于等待接收客户的请求,当请求到达时被唤醒;
  2. 客户方以通常的方式发出服务请求,由客户机上的通信软件把它装配成请求包,再经过传输协议软件把请求包发送给服务器方;
  3. 服务器中的传输协议软件接收到请求包后,对该包进行检查,若无错误便将它提交给服务器方的通信软件进行处理;
  4. 服务器通信软件根据请求包中的请求,完成相应的处理或服务,并将服务结果装配成一个响应包,由传输协议软件将其发送给客户;
  5. 由客户的传输软件协议把收到的响应包转交给客户的通信软件,由通信软件做适当的处理后提交给客户。

客户服务器架构 客户/服务器体系结构_分布式