客户机-服务器模型
客户机-服务器模型是一种分布式应用程序结构,它在资源或服务的提供者(称为服务器)和服务请求者(称为客户机)之间划分任务或工作负载客户端和服务器通常通过独立硬件上的计算机网络进行通信,但客户端和服务器可能位于同一个系统中。服务器主机运行一个或多个服务器程序,这些程序与客户机共享资源。客户机通常不共享任何资源,但它从服务器请求内容或服务。因此,客户端发起与服务器的通信会话,服务器等待传入的请求。使用客户机-服务器模型的计算机应用程序的例子有电子邮件、网络打印和万维网。
客户机和服务器角色(你是客户机还是服务器)
“客户机-服务器”特征描述了应用程序中协作程序之间的关系。服务器组件向一个或多个客户端提供功能或服务,客户端发起对此类服务的请求。服务器根据其提供的服务进行分类。例如,web服务器提供网页服务,文件服务器提供计算机文件服务。共享资源可以是服务器计算机的任何软件和电子部件,从程序和数据到处理器和存储设备。服务器资源的共享构成了服务。
计算机是客户端、服务器还是两者都是,取决于需要服务功能的应用程序的性质。例如,一台计算机可以同时运行web服务器和文件服务器软件,为发出不同请求的客户端提供不同的数据。客户端软件也可以与同一台计算机内的服务器软件进行通信服务器之间的通信,例如同步数据,有时称为服务器间通信或服务器到服务器通信。
客户机和服务器通信
一般来说,服务是计算机资源的抽象,客户机不必关心服务器在实现请求和交付响应时是如何执行的。客户端只需理解基于已知应用程序协议的响应,即请求服务的数据内容和格式。
客户机和服务器以请求-响应消息传递模式交换消息。客户端发送一个请求,服务器返回一个响应。这种消息交换就是进程间通信的一个例子。为了进行通信&