当前位置: 首页 > article >正文

C/S与B/S架构

目录

C/S架构

什么是C/S架构

优缺点

B/S架构

什么是B/S架构

优缺点

对比项C/S 架构B/S 架构
安装相对复杂,要安装单独客户端软件易于安装,与平台无关,只需要浏览器软件
部署和维护部署维护较为繁琐,升级难易于部署和维护,容易升级
在线工作可以离线工作,前提是本地有缓存数据,涉及数据库同步需在线工作,工作效率受网络情况影响较大
客户端资源利用充分利用客户端计算机资源只能通过浏览器页面交互,没有充分利用客户端计算机资源
网络资源占用网络传输量小,只需在客户端和服务器间传输数据网络传输量大
安全性较高,方便加密和解密安全性较低

C/S架构

什么是C/S架构

C/S架构(Client Serve)是第一种比较早的软件架构,主要用于局域网内。也叫 客户机/服务器模式

特点

  • 如果用户想使用,需要下载一个客户端,安装后就可以使用,例如QQ,微信等
  • Windows .exe    Mac .dmg
  • Android .apk      IOS .ipa 

C/S架构可以分为客户机和服务器两层,第一层客户机作为用户表示层;第二层服务器作为数据库层,客户端通过数据库连接访问服务器端的数据。

第一层:在客户机系统上结合了界面显示与业务逻辑

第二层:通过网络结合了数据库服务器

这种架构中客户端不仅仅是做一些简单操作,也会处理一些运算,实现绝大多数的业务逻辑和界面展示,替代了本该由服务器处理的事情,因此也被称为胖客户端

优缺点

优点:

1.C/S架构的界面和操作可以很丰富,例如QQ对比在线聊天

2.由于只有两层的传输,安全性能很容易保证

3.由于只有一层交互,因此响应速度较快

缺点

1.适用面窄,通常用于局域网中。020
2.用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户。
3.维护成本高,发生一次升级,则所有客户端的程序都需要改变

 

测试时需考虑向前向后兼容

向前(上)兼容:旧版本系统需能接受新版本的数据,旧兼容新

向后(下)兼容:新版本系统需能接受旧版本的数据,新兼容旧

B/S架构

什么是B/S架构

B/S架构的全称为Browser/Server,即浏览器/服务器结构。

Browser指的是Web浏览器,极少数事务逻辑在前端实现,但主要事务逻辑在服务器端实现

特点

  • B/S架构的系统无须特别安装,只有Web浏览器即可

B/S架构可以分为三层,第一层客户机作为用户表示层;第二层应用服务器作为业务逻辑层,第三层数据库服务器作为数据访问层

第一层界面表示层:主要完成用户和后台的交互及最终查询结果的输出功能  --前端页面

第二层业务逻辑层:主要是利用服务器完成客户端的应用逻辑功能  --后端api接口

第三层数据层:主要是接受客户端请求后独立进行各种运算  --云服务器

这种架构中,显示逻辑交给了Web浏览器,事务处理逻辑在放在了WebApp上,这样就避免了庞大的胖客户端,减少了客户端的压力。因为客户端包含的逻辑很少,大部分做游戏数据渲染,请求等工作,因此也被成为瘦客户端

优缺点

优点

1.客户端无需安装,有Web浏览器即可。 
2.B/S架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。 
3.B/S架构无需升级多个客户端,升级服务器即可。可以随时更新版本,而无需用户重新下载

 

测试时遇到版本更新只需要刷新页面即可

缺点

1、在跨浏览器上,B/S架构不尽如人意。 
2、表现要达到C/S程序的程度需要花费不少精力。 
3、在速度和安全性上需要花费巨大的设计成本,这是B/S架构的最大问题。 
4、客户端服务器端的交互是请求-响应模式,通常需要刷新页面,这并不是客户乐意看到的。(在Ajax风行后此问题得到了一定程度的缓解)


http://www.kler.cn/a/600716.html

相关文章:

  • ThreadLocal 的用途与用法全解析:Java 多线程开发的利器
  • C++中将记录集的数据复制到Excel工作表中的CRange类CopyFromRecordset函数异常怎么捕获
  • 【c++入门系列】:引用以及内联函数详解
  • javaweb自用笔记:Mybatis
  • Java 线程池全面解析
  • 【Pandas】pandas Series to_csv
  • vue3中watch 函数参数说明
  • 小蓝的括号串(栈,dfs)
  • PHP在2025年的新趋势与应用
  • xilinx约束中set_property -dict表示什么意思
  • Nuxt出现Error: Failed to download template from registry
  • C语言复习笔记--函数递归
  • Hugging Face Spaces 介绍与使用指南
  • 4.milvus索引FLAT
  • 黄土高原风蚀区解析多源数据融合与机器学习增强路径-RWEQ+集成技术在风蚀模数估算中的全流程增强策略—从数据融合到模型耦合的精细化操作指南
  • Linux云计算SRE-第二十一周
  • 国产开发板—米尔全志T113-i如何实现ARM+RISC-V+DSP协同计算?
  • 深入理解JavaScript中的同步和异步编程模型及应用场景
  • 2025年DeepSeek行业应用实践报告
  • Elasticsearch Windows 环境安装