软件架构设计 C/S与B/S架构的区别

一、什么是C/S架构?

C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle或SQLServer。

C/S架构软件有一个特点,就是如果用户要使用的话,需要下载一个客户端,安装后就可以使用。比如QQ,OFFICE软件等。

C/S架构的优点:
  • C/S架构的界面和操作可以很丰富。(客户端操作界面可以随意排列,满足客户的需要)

  • 安全性能可以很容易保证。(因为只有两层的传输)

  • 由于只有一层交互,因此响应速度较快。(直接相连,中间没有什么阻隔或岔路,比如QQ,每天那么多人在线,也不觉得慢)

C/S架构的缺点:
  • 适用面窄,通常用于局域网中。

  • 用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户。

  • 维护成本高,发生一次升级,则所有客户端的程序都需要改变。

二、什么是B/S架构?

B/S架构的全称为Browser/Server,即浏览器/服务器结构
Browser指的是Web浏览器,极少数事务逻辑在前端实现,主要事务逻辑在服务器端实现。

B/S架构的系统无须安装客户端,有Web浏览器即可访问。其实就是我们前端开发做的一些事情,大部分的逻辑交给后台来实现,前端只需做一些数据渲染,请求等比较少的逻辑。

B/S架构的特征和基本结构:

在 B/S 结构中,每个节点都分布在网络上,这些网络节点可以分为浏览器端、服务器端和中间件,通过它们之间的链接和交互来完成系统的功能任务。三个层次的划分是从逻辑上分的,在实际应用中多根据实际物理网络进行不同的物理划分。

浏览器端:即用户使用的浏览器,是用户操作系统的接口,用户通过浏览器界面向服务器端提出请求,并对服务器端返回的结果进行处理并展示,通过界面可以将系统的逻辑功能更好的表现出来。

服务器端:提供数据服务,操作数据,然后把结果返回中间层,结果显示在系统界面上。

中间件:这是运行在浏览器和服务器之间的。这层主要完成系统逻辑,实现具体的功能,接受用户的请求并把这些请求传送给服务器,然后将服务器的结果返回给用户,浏览器端和服务器端需要交互的信息是通过中间件完成的。

B/S架构的分层

与C/S架构不同的是,B/S架构有三层,分别为:

  1. 第一层表现层:主要完成用户和后台的交互及最终查询结果的输出和展示功能。

  2. 第二层逻辑层:主要是利用服务器完成客户端的应用逻辑功能。

  3. 第三层数据层:主要是接受客户端请求后独立进行各种数据运算。

B/S架构的优点:

1)客户端无需安装,只要有Web浏览器访问即可。

2)BS架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。

3)BS架构无需升级多个客户端,升级服务器即可。可以随时更新版本,而无需用户重新下载。

B/S适用于一些安全性要求相对较低、数据查询量大、操作简单模块。除了具有C/S模型的所有优点外,B/S还具有使用简单、提供了一个统一的客户端、维护工作集中于服务器端、通用性强的Web的开放式标准、扩展性好、可接入Internet等优点。 

B/S架构的缺点:

在跨浏览器上,BS架构表现不如CS程序的好。

在速度和安全性上需要花费很大的设计成本,这是BS架构的最大问题。

客户端服务器端的交互是请求-响应模式,通常需要刷新页面,这并不是客户乐意看到的。(在Ajax风行后此问题得到了一定程度的缓解)

三、C/S与B/S架构的区别

1)硬件环境不同:

C/S 一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。B/S 建立在广域网之上的, 不必是专门的网络硬件环境。例如电话上网,租用设备,信息管理,有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。

2)对安全要求不同:

C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强, 一般高度机密的信息系统采用C/S 结构适宜,可以通过B/S发布部分可公开信息。B/S 建立在广域网之上, 对安全的控制能力相对弱,面向是不可知的用户群。

3)对程序架构不同:

C/S 程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。B/S 对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上,比C/S有更高的要求。 

CS结构在逻辑结构上比BS结构少一层,对于相同的任务,CS结构完成的速度总比BS结构快,使得CS更利于处理大量数据。另外,由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。

4)软件重用不同:

C/S 程序不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好。B/S 的多重结构,要求构件相对独立的功能,能够相对较好的重用。

5)系统维护不同:

系统维护在是软件的生命周期中,开销大。C/S 程序由于整体性,必须整体考虑, 处理出现的问题以及系统升级比较难,可能是再做一个全新的系统。B/S程序由构件组成,方便构件个别的更换,实现系统的无缝升级,系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。

相关推荐

  1. BS架构CS架构区别

    2024-03-18 05:44:05       11 阅读
  2. 软件架构设计 Azure架构

    2024-03-18 05:44:05       14 阅读
  3. 软件架构设计模式:微服务单体架构比较

    2024-03-18 05:44:05       14 阅读
  4. 软件架构设计核心步骤详解

    2024-03-18 05:44:05       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-18 05:44:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-18 05:44:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-18 05:44:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-18 05:44:05       20 阅读

热门阅读

  1. Git入门学习

    2024-03-18 05:44:05       22 阅读
  2. 前端框架的发展史

    2024-03-18 05:44:05       22 阅读
  3. 探索Flutter Sliver 家族:打造流畅的复杂滚动体验

    2024-03-18 05:44:05       21 阅读
  4. go docker sdk 第三章

    2024-03-18 05:44:05       23 阅读
  5. 简述VS C++,Win32 API 和MFC之间的关系?

    2024-03-18 05:44:05       19 阅读
  6. FreeRTOS入门基础

    2024-03-18 05:44:05       18 阅读
  7. C#命名空间基础及案例

    2024-03-18 05:44:05       23 阅读
  8. django 定时任务的创建

    2024-03-18 05:44:05       17 阅读
  9. HJ31 单词倒排

    2024-03-18 05:44:05       18 阅读
  10. cache的58问,您能回答上几个

    2024-03-18 05:44:05       17 阅读
  11. Python sorted()函数

    2024-03-18 05:44:05       19 阅读
  12. 前端项目构建过程中的思考落地以及拓展

    2024-03-18 05:44:05       20 阅读