看似没有深度问题?——C/S架构&&B/S架构?

1. C/S架构

  Client/Server架构,客户端/服务端架构。C/S结构在技能上非常成熟,它的重要特征就是交互性强、拥有安全的存取形式、响应速度快、利于处置大量数据。可是这个结构的程序就是针对性开发,变更不够灵活,维护与管理的难度较大。常常只局限在小型局域网,不利于扩展。而且,因为这个结构的每台客户机全部须要安装相对应的客户端程序,分布功能弱并且兼容性差,不可以完成迅速部署安装与配置,因为这样缺少通用性,拥有比较大的局限性。

PS:典型的两层架构:
看似没有深度问题?——C/S架构&&B/S架构?_第1张图片

2. B/S架构

  Browser/Server架构,浏览器/服务端架构。就是只安装维护一个服务器(Server),而客户端选用浏览器(Browse)运行。B/S结构应用程序相对于传统的C/S结构应用程序就是一个特别大的进步。 B/S结构的重要特征就是分布性强、维护方便、开发简单并且共享性强、总体拥有费用低。但数据安全性问题、对服务器需要过高、数据传输速度慢、软件的个性化特征明显减少,这些缺点就是有目共睹的,难以完成传统形式下的特殊功能请求。比如通过浏览器实行大量的数据输入或实行报表的应答、专用性打印输出全部相对比较困难与不便。另外,完成复杂的应用构造有较大的困难。

PS:典型的三层架构
看似没有深度问题?——C/S架构&&B/S架构?_第2张图片

3. C/S与B/S对比

  上边说了这么多,可能还是云里雾里,因为B/S、C/S本来就没有一个明确的定义,二者定义很相仿。所以下面对比着来看会好很多~~

C/S:

  • 在服务端主要就是一个数据库,把大部分业务逻辑以及界面渲染都交给客户端完成。
  • C/S不一定是是请求——响应式,像我们的QQ,也可能是触发的,服务器会主动给客户端发消息。
  • 操作界面漂亮、形式多样,交互性强,响应速度快,利于处理大量数据。
  • C/S结构的管理信息系统拥有比较强的事务处置才能,可以完成复杂的业务过程。
  • 每次升级都需要重新安装,针对不同的操作系统开发,可移植性很差
  • 开发、维护费用较高。要求具有一定专业水准的技术人员去完成
  • 安全性比较高,用户体验比较好。

B/S

  • 基于浏览器的访问应用,大部分业务逻辑交给服务器完成,客户端仅仅只做界面渲染和数据交换。
  • B/S一定是请求——响应式,客户端发送请求,服务端响应请求。
  • B/S是特殊的C/S,此时浏览器充当了客户端,基于HTTP协议。
  • 维护简单便利,只须要更改网页,就可以完成全部用户的同步更新。
  • 开发简单,只要开发服务端,可以跨平台,移植性很强。
  • 安全性比较低,用户体验比较差,对服务器要求过高。

4. 关于二者是否对立的疑问?

  C = Client, S = Server。C/S 架构即“客户端-服务器” 架构。这里的“客户端”可以是有 GUI (图形用户界面)的定制软件,也可以是浏览器,甚至可以是通过 SSH 访问服务器的命令行脚本。只要是客户端通过访问服务器调取计算或者存储资源的,统统都是 C/S 架构。所谓的 Browser-Server 架构其实是 C/S 架构的一种特殊的实现形式,而不是其对立面。

  其实回答说的很清楚,B/S是C/S的一种特殊实现,是对C/S的一种发展。B/S广义上来讲也完全是一种C/S,只是他比传统的C/S相比更加灵活一些,因为浏览器不是为了某个服务“定制”的。

  现在的应用综合和B/S和C/S的优点,部分应用不再是单纯的C/S或者B/S。

  以上便是关于C/S架构和B/S架构的个人理解。如有不正,请多多指教~~
看似没有深度问题?——C/S架构&&B/S架构?_第3张图片

你可能感兴趣的:(计算机杂说)