C/S模型
客户/服务器模型(C/S)
特点:非对等相互作用,即客户与服务器处于不平等的地位。
一、客户端与服务器的关系
1、数量关系
多个客户进程同时访问一个服务器进程(n:1)
一个客户进程同时访问多个服务器提供的服务(1:n ).
2、位置关系
客户和服务器运行在同一台机器上———应用于网络应用程序开发测试。
客户和服务器运行在同一个局域网内的不同机器上——局域网文件共享、局域网打印机
客户和服务器运行于广域网不同网络内的机器上——最常见网咯应用程序。
3、客户与服务器的角色关系
应用程序作为纯粹的客户运行。——例如web浏览器
应用程序作为纯粹的服务器运行。——如具备基本功能的ftp服务器
应用程序同时具备客户和服务器两种角色。
4、有状态和无状态的服务器
判断依据:服务器或客户本地端是否保存状态信息。
无状态服务器举例:禁用cookie功能的web服务器
有状态服务器举例:网络游戏服务器
5、循环服务器和并发服务器
循环服务器:通过在单线程内设置循环控制实现对多个客户请求的逐一响应。
并发服务器:通过使请求处理(多线程)和I/O部分重叠达到高性能。
二、客户端与服务器的工作过程
step1、打开一个通信通道,告知服务器进程所在主机将在某一端口上接受客户请求。
step2、等待客户的请求到达该端口。
step3、服务器接收到服务请求,处理该请求并发送应答。
step4、返回至第2步,等待并处理另一个客户的请求。
step5、关闭服务器。
三、C/S优缺点
优点:
结构简单。
支持分布式、并发环境。有效提高资源的利用率和共享程度。
服务器集中管理资源,有利于权限控制和系统安全。
可扩展性较好。客户和服务器均可单独地升级
缺点:
传统C/S相比较B/S的局限:
1.不易部署(客户端逐一安装、挑平台)
2.维护困难(客户端需注意更新)