1.B/S和C/S的概念
1.1 B/S架构
B/S(Brower/Server,浏览器/服务器)模式又称B/S结构,是Web兴起后的一种网络结构模式。Web浏览器是客户端最主要的应用软件。
这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用;
客户机上只需要安装一个浏览器,服务器上安装SQL Server, Oracle, MySql等数据库;浏览器通过Web Server同数据库进行数据交互。
1.1.2 B/S架构工作原理
B/S架构采取浏览器请求,服务器响应的工作模式。
用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;
而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;
从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。
B/S工作原理:
1.1.3 B/S架构工作流程:
1. 客户端发送请求: 用户在客户端【浏览器页面】提交表单操作,向服务器发送请求,等待服务器响应;
2. 服务器端处理请求: 服务器端接收并处理请求,应用服务器端通常使用服务器端技术,如JSP等,对请求进行数据处理,并产生响应;
3. 服务器端发送响应: 服务器端把用户请求的数据(网页文件、图片、声音等等)返回给浏览器。
4. 浏览器解释执行HTML文件,呈现用户界面。
1.2 C/S架构
服务器-客户机,即Client-Server(C/S)结构。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。、
C/S结构是一种软件系统体系结构,也是生活中很常见的。这种结构是将需要处理的业务合理地分配到客户端和服务器端,这样可以大大降低通信成本,但是升级维护相对困难。比如我们手机中安装的微信、qq、王者荣耀等应用程序就是C/S结构。
在C/S结构中,应用程序分为两部分:服务器部分和客户机部分。服务器部分是多个用户共享的信息与功能,执行后台服务,如控制共享数据库的操作等;客户机部分为用户所专有,负责执行前台功能,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间*切换。
C/S工作原理:
2.B/S和C/S两种架构的优缺点
2.1 C/S架构的优缺点:
优点:
- 客户端因为是独立设计,所以可以实现个性化。
- 因为客户端是需要进行安装的,可以不需要重复安装和加载。
- 因为客户端是独立开发的,所以有能力对客户端进行安全设计。
- 如果遇到不同的操作系统,需要为不同的操作系统各开发一套客户端。
缺点:
- 因为客户端是不需要重复安装,所以用户可以不更新与升级,增加了维护成本。
- 因为需要开发客户端和服务器两套程序,所以开发成本会增加。
- 适用面窄,通常用于局域网中。用户群固定,由于程序需要安装才可使用,因此不适合面向一些不可知的用户。
2.2 B/S架构的优缺点:
优点: - 因为B/S架构具备通用性,所以开发成本较低。
- 因为不需要安装客户端,所以客户端不需要进行升级,只需要更新后台代码即可实现所有客户端的更新。
- 因为B/S架构多用WEB网页进行开发,所以增、删功能也非常容易,只需要修改网页即可完成。
缺点:
- 耗流量,每次都要加载全部的内容(不过有缓存可以降低流量损耗),
- 因为没有独立的客户端,所以无法实现个性化(通过账号体系可以实现)。
- 因为没有独立设计客户端,所以客户端难以实现安全控制(HTTPS、控件)。
- 难以实现特殊的操作(删本地文件),所以所有的杀毒软件都是C/S架构的。
B/S架构更多的时候是使用了HTTP协议、而C/S架构更多的时候使用的WinSocke t协议(TCP、UDP)。
3.B/S和C/S两种架构的区别
1.硬件环境不同
C/S架构是建立在局域网上的,需要安装软件,要求有相同的操作系统,对计算机的配置要求较高。
B/S架构是建立的广域网上的,有浏览器和操作系统就行,与操作系统无关(可以跨平台),对计算机电脑的配置要求较低。
2.安全要求不同
C/S:一般面向相对固定的用户群,程序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。
B/S:建立在广域网上,面向不可知的用户,对安全的控制力较弱。
3.软件维护
C/S:开发维护成本较高,需要专业的技术人员完成,每一个客户端软件都需要进行升级更新
B/S:维护简单方便,网页修改所有用户都会进行同步更新
4.用户体验
C/S:客户端进行大量的业务处理然后交给服务端,所以客户端的响应速度比较快
B/S:客户端与服务端的交互是请求响应式,需要动态刷新页面,所以响应速度较慢。
5.个性化功能
C/S:操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。
B/S:软件的个性化特点明显降低,难以实现传统模式下的特殊功能要求。
一张表格看懂二者区别: