深入理解C/S和B/S两种结构

1. C/S结构

概念:客户机-服务器,即Client-Server(C/S)结构。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务,例如手机用的QQ、微信。

C/S只有两层结构:
第一层:表示层, 在客户机系统上结合了界面显示与业务逻辑;
第二层:数据层, 通过网络结合了数据库服务器。
在这里插入图片描述
优点:

  • C/S架构的界面和操作可以很丰富。
  • 安全性能可以很容易保证,实现多层认证也不难。
  • 由于只有一层交互,因此响应速度较快。

缺点:

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

2. B/S结构

概念:浏览器-服务器,即Browser-Server(B/S)结构,随着Internet技术的兴起,对C/S架构的一种变化或者改进的架构。在这种架构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构,例如网页版游戏,网页版QQ,网页版微信等等。

B/S有三层次结构(联想一下MVC开发模式):
第一层:表现层,主要完成用户和后台的交互及最终查询结果的输出功能。
第二层:逻辑层,主要是利用服务器完成客户端的应用逻辑功能。
第三层:数据层,主要是接受客户端请求后独立进行各种运算。
在这里插入图片描述

优点:

  • 客户端无需安装,有Web浏览器即可。
  • BS架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。
  • BS架构无需升级多个客户端,升级服务器即可。

缺点:

  • 在跨浏览器上,BS架构不尽如人意。
  • 表现要达到CS程序的程度需要花费不少精力。
  • 在速度和安全性上需要花费巨大的设计成本,这是BS架构的最大问题。
  • 客户端服务器端的交互是请求-响应模式,通常需要刷新页面,这并不是客户乐意看到的。(在Ajax风行后此问题得到了一定程度的缓解)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章