简述C/S架构与B/S架构的定义及二者优缺点?
1. C/S架构
概念
C/S 架构是一种典型的两层架构,其全是称Client/Server,即客户端/服务器端架构,是一种软件系统体系结构(它可以充分利用两端硬件环境的优势,将需要处理的业务合理地分配到客户端和服务器端,降低系统的通讯开销)。
客户端:包含一个或多个在用户的电脑上运行的程序。
服务器端(主要有两种):(1)数据库服务器端,客户端通过数据库连接访问服务器端的数据;(2)Socket服务器端,服务器端的程序通过Socket与客户端的程序通信。
基本原则
将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则。客户端完成数据处理、数据表示以及用户接口功能;服务器端完成DBMS的核心功能。
示例
手机APP,如微信、学习通、百度地图、QQ等应用程序。
特点
- C/S架构通常建立在专用的网络上,小范围的网络环境中,局域网之间在通过专门的服务器提供连接和数据交换服务;
- 面向相对固定的用户群,对信息安全性控制力强。
优点
- 能够充分发挥客户端PC的处理能力,且只有一层交互,客户端响应速度较快。(主要表现在应用服务器运行数据负荷较轻和数据的存储管理功能较为透明);
- C/S架构的界面和操作可以很丰富;
- 安全性能可以很容易保证,实现多层认证也不难。
缺点
1.* 适用面窄*,通常用于局域网中;
2. 用户群固定,不适合面向一些不可知的用户;
3. 客户端需要安装专用的客户端软件,需要针对不同的操作系统开发不同版本的软件;
4. 安装和维护成本高。且产品更新速度快,每发生一次升级,所有客户端的程序都需要改变。
2. B/S架构
概念
B/S架构其全称为Browser/Server,即浏览器/服务器架构是Web兴起后的一种网络架构模式。这种模式统一了客户端,将系统功能实现的核心部分集中在服务器上,简化了系统的开发、维护和使用。
浏览端:Web浏览器(极少数事务逻辑在前端实现),如Internet Explorer等。
服务端:实现主要事务逻辑,安装SQL Server、Oracle、MySQL等数据库;浏览器通过Web Server同数据库进行数据交互。
示例
在手机或电脑上用浏览器上百度搜索、看新闻、浏览地图等。
特点
- 升级和维护方式简单;
- 成本低,选择多;
- 应用服务器运行数据负荷重,对服务器要求高。
优点
- 客户端无需特别安装,只有Web浏览器即可;
- 可以直接放在在广域网中,通过一定的权限控制实现多客户访问的目的,交互性强;
- 维护和升级时仅针对服务器即可。
缺点
- 表现性较差,要达到C/S程序的程度需要一定的精力;
- 在速度和安全性设计上成本较高(B/S架构最大的问题);
- 客户端与服务器交互模式为请求-响应模式,通常需要刷新页面。
3. B/S对C/S的改进与扩展
- 分布性广:可以随时进行查询、浏览等业务;
- 业务扩展方便:增加网页即可增加服务器功能;
- 维护简单方便:改变网页,即可实现所有用户同步更新;
- 开发简单,共享性强,成本低,数据可持久存储在云端,不必担心数据的丢失。
4. 对比图表