C/S 与B/S 模型的联系与区别

客户/服务器模型(C/S)

特点:非对等相互作用,即客户与服务器处于不平等的地位。

表现在:服务器用有客户所不具备的硬件和软件资源以及运算能力,服务器提供服务,客
户请求服务。  

客户端与服务器的数量关系

  • 多个客户进程同时访问一个服务器进程(n:1)
  • 一个客户进程同时访问多个服务器提供的服务(1:n ).

客户端与服务器的位置关系

这里写图片描述

  • 客户和服务器运行在同一台机器上———应用于网络应用程序开发测试。
  • 客户和服务器运行在同一个局域网内的不同机器上——局域网文件共享、局域网打印机
  • 客户和服务器运行于广域网不同网络内的机器上——最常见网咯应用程序。

客户与服务器的角色关系

  1. 应用程序作为纯粹的客户运行。——例如web浏览器
  2. 应用程序作为纯粹的服务器运行。——如具备基本功能的ftp服务器
  3. 应用程序同时具备客户和服务器两种角色。

有状态和无状态的服务器

判断依据:服务器或客户本地端是否保存状态信息。
无状态服务器举例:禁用cookie功能的web服务器
有状态服务器举例:网络游戏服务器

循环服务器和并发服务器

循环服务器:通过在单线程内设置循环控制实现对多个客户请求的逐一响应。
并发服务器:通过使请求处理(多线程)和I/O部分重叠达到高性能。

循环服务器和并发服务器的选择取决于对单个客户请求的处理时延。
客户较少、时延较长时考虑并发服务;客户量大、时延较短、请求频繁优先考虑循环服务。

浏览器/服务器模型(B/S)

用户通过www浏览器实现,一部分事务逻辑在前端(浏览器)实现,主要事务逻辑在服务端实现。通常以三层架构(表现层、事务逻辑层、数据处理层)部署实施。
B/S模型是特殊的客户/服务器模型,特殊之处在于,客户端软件特质浏览器,使用HTTP协议通信。用同用浏览器实现原来需要复杂专用软件才能实现的客户功能,节约了开发成本。

三层架构:表示层、逻辑层、数据层

  • 客户端表示层。由Web浏览器组成,不存放任何应用程序。
  • 应用服务器层(事务逻辑层)。由一台或多台服务器组成,具有良好的可扩展性。
  • 数据中心层(数据处理层)。有数据库系统组成,用于存放业务数据。

联系

  • 浏览器/服务器(B/S)模型是一种特殊的、具体化的客户/服务器(C/S)模型,其特殊之处是B/S模型的客户端软件特指浏览器,服务器一般是Web服务器,使用HTTP协议通信。其工作过程是C/S模型的具体化、实例化。
  • 二者的本质思想均是基于计算机网络中,不同主机之间软硬件资源、运算能力和信息不均等,为实现资源信息共享,必然形成不对等的通信地位和交互方式。
  • 两种结构对应的软件系统均为分布式网络应用程序系统。

模型组成

  1. 客户端程序+服务器程序,如微信客户端版、PC版的网络游戏
  2. Web浏览器+服务器,如微信网页版、网页在线游戏。

工作过程

C/S模型:

  1. 打开一个通信通道,告知服务器进程所在主机将在某一端口上接受客户请求。
  2. 等待客户的请求到达该端口。
  3. 服务器接收到服务请求,处理该请求并发送应答。
  4. 返回至第2步,等待并处理另一个客户的请求。
  5. 关闭服务器。

B/S模型:
这里写图片描述
1. 用户通过浏览器向Web服务器提出HTTP请求。
2. Web服务器根据浏览器请求调出相应文件,对相应文件不做处理或加以解释执行后,将纯客户端HTML代码结果返回给浏览器。
3. 浏览器接收到Web服务器发回的页面内容(纯HTML代码),显示给用户。

优缺点

C/S模型:
优点:

  • 结构简单。
  • 支持分布式、并发环境。有效提高资源的利用率和共享程度。
  • 服务器集中管理资源,有利于权限控制和系统安全。
  • 可扩展性较好。客户和服务器均可单独地升级

传统C/S相比较B/S的局限:
1.不易部署(客户端逐一安装、挑平台)
2.维护困难(客户端需注意更新)

B/S
优点:分布式、易扩展、共享性强
相比较传统的C/S的优势:
1.易部署(各平台自带通用浏览器)
2.容易维护(服务器端改变网页内容可实现所有用户同步更新)
3.页面动态刷新,响应速度明显降低。

猜你喜欢

转载自blog.csdn.net/hhhanpan/article/details/79592594
今日推荐