B/S架构与C/S架构的比较
一、B/S架构的介绍
B/S架构(browser/server Architecture)是一种网络架构模式,即浏览器和服务器架构,由浏览器、服务器以及中间件组成, B/S架构是对C/S架构的一种改进。在这种架构下,极少数事务逻辑在前端实现,主要事务逻辑在服务器端实现,浏览器端、服务器端和数据库端构成所谓的三层架构(3-tier architecture:界面层[前端]、业务逻辑层[后端]、数据访问层[数据库])。B/S架构无须安装客户端,只要有web浏览器即可。客户端安装浏览器,服务器端安装数据库等软件,浏览器通过web服务器同数据库进行数据交互。
B/S结构的每个节点都分布在网络上,这些网络节点可以分为浏览器端、服务器端和中间件,通过他们的链接和交互来完成系统的功能任务。
浏览器端:用户通过浏览器向服务器发送请求,并对服务器端返回的结果进行处理并展示,通过界面可以更加直观的将消息展示出来。
服务器端:提供数据服务,操作数据,然后把结果返回给中间层,结果显示在系统界面上。
中间件(最常见的API接口就是中间件):处于操作系统软件与用户的应用软件中间,在操作系统、网络和数据库之上,应用软件之下,用于解决系统间的互连互通问题,为应用软件提供运行和开发环境。在B/S架构中,主要用于接收浏览器发出的请求并传递给服务器端,然后将服务器结果返回给用户,实现浏览器端与服务器端的交互。
二、C/S架构的介绍
C/S架构(client/server)即客户机-服务器架构,通常采取两层结构,服务器负责数据的管理,客户机负责完成与用户的交互。客户机通过局域网与服务器相连,接收用户的请求,并通过网络向服务器提出请求,对数据库进行操作。服务器接收客户机请求,并将数据提交给客户机,客户机对数据进行处理之后显示给用户。C/S架构需要用户在客户机端安装应用软件。
三、B/S和C/S的比较
1.客户端:B/S只需要安装web浏览器即可,C/S需要安装特定的应用程序
2.安全环境:B/S一般建立在广域网之上,对安全的控制能力弱,面向的是不可知的用户群,C/S建立在局域网中,一般面相相对固定的用户群,对信息安全的控制能力强
3.升级:B/S架构无须升级多个客户端,升级服务器即可,C/S维护成本高,发生一次升级,则所有客户端的程序都需要改变
4.响应速度:B/S架构的交互是请求响应模式,需要刷新页面,速度相对来说较慢,C/S只有一层交互,因此响应速度快
5.界面:B/S架构由于浏览器兼容性问题,B/S架构界面不够强大,可能会出现不兼容问题,影响界面的美观,C/S架构的界面比较稳定。
总结:C/S和B/S各有优势,C/S的界面稳定性以及运行速度肯定优于B/S架构,缺点是每个用户需要下载单独的客户端(不同操作系统需要单独的一套程序,用手机app来举例,在手机上下载一个软件,需要选择下载软件的操作系统是安卓还是苹果,在安卓手机上只能下载安卓版本),B/S在软件升级方面显得很有优势,不需要升级多个客户端,而且由于浏览器可以存在于不同操作系统中,B/S架构中的程序可以在多个不同的操作系统中运行,更加方便。总的来说,各有各的好!