应用程序的两种架构(c/s两层 b/s三层)2

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/strivenoend/article/details/83035264

C/S架构是客户端(Client)/服务器(  database Server)架构 B/S是浏览器(Broswer)/服务器(web Server&&database Server)架构。
实际上B/S架构也算是C/S架构。
是为了区分一下 一般来说把客户端在浏览器上运行的系统架构称作B/S(一般的网站系统) 而把客户端是PC应用的系统架构称作C/S(各种PC上的与服务器有交互的软件)。
一般c/s架构桌面应用开发都是用C++的MFC写,程序放在客户端,
一般b/s架构web应用开发都是用java写,程序放在服务器端,

 

B/S 开发和 C/S开发的区别

导读:每天都从应用中心下载很多软件安装尝试,在自己的电脑上也装了很多软件,但是,就出现了一个问题,好比QQ,为什么有了APP,还要有网站应用呢?由此,结合到自己的学习,就衍生出一个问题:C/S 开发就可以做出很好很好的东西,为什么还要有B/S开发呢?它们之间的区别是什么?

你会发现有的软件他会同时存在两种架构c/s和b/s,比如说mysql(有图形化管理客户端navicat,workbench用户可以根据自身喜好选择客户端软件,客户端软件连接mysql服务器

也有基于web的phpmyadmin,如果说实在没有客户端的话,我们也可以通过web来访问和管理数据库通过web界面连接mysql服务器),在比如说qq(有客户端,通过客户端连接服务器,也有基于web的qq,通过web连接服务器),这个时候你就会清晰出c/s和b/s的区别了吧

个人觉得有了客户端的软件,在对他开发web应用其实也挺好的,这样毕竟也是挺方便的,有时可以解燃眉之急,但是不知道为什么同时具备c/s和b/s的软件很少,而且就算开发了b/s的软件,后来也逐渐放弃为维护了向webqq。

看看腾讯放弃维护webqq的告别会吧,哭泣https://www.pingwest.com/a/37571

一、基本概况

1.1,概念

C/S (Client/Server)开发:又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如ORACLE、SYBASE、InfORMix或 SQL Server。客户端需要安装专用的客户端软件。

附:C/S结构图

B/S 开发(Browser/Server,浏览器/服务器模式):是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser英 ['braʊzə]美 ['braʊzɚ]),如Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互。

附:B/S结构图

1.2,应用语言

如果说到应用什么语言去开发C/S 或者说是B/S 结构的的程序,那么作为目前的一个现状来说,很可能就认为:C++,C#,VB等更偏向C/S开发(我同学就用c++写的微信),而所用到的像JS,java,JQuery等(我就用java写的网站后台),则会被认为更偏向于B/S开发。(某一时期,我是这么认为的)但是,这是不准确的!为什么,看后续的C/S和B/S的关系就明白了。

二、C/S 和 B/S 的对比

2.1,优点

2.1.1 C/S

安全性:C/S需要其特定的客户端,所以面向的对象比较确定,由此所进行的信息安全处于一种可控的范围。

效率:客户端和服务端直接相连,省却了中间环节,数据的传输相对较快。

个性化:C/S尤其特定的客户端,因此可以较大程度上满足客户的个性化要求,如界面、操作等。

稳定性:结构较稳定,较强的事务处理能力,可实现比较复杂的的业务逻辑。

2.1.2 B/S

范围:零安装:拥有一个浏览器,即可访问。因此,它所面向的范围更为的广阔。

扩展性:通常来说,通过增添网页即可扩展系统的功用。零维护:更新页面,即可以实现面向所有用户的更新。

共享:B/S 通过浏览器访问,共享性强。

2.2,缺点

2.2.1 C/S

由于需要在PC端安装特定的软件,所以,它对PC机有一定的要求:如,操作系统。而且,安装和部署复杂。

扩展性和维护成本高,当面对第二客户有不同需求时,得修改其界面等设计。当客户端达到一定的量时,同时访问服务器,造成服务端的响应变慢,效率变低。(但在数据量小的时候不存在)

2.2.2 B/S

由于B/S针对的对象范围广,所以,它的设计一般而言是一种公共审美,无法满足个性化的需求。

2.3,C/S和B/S的联系

2.3.1 联系:

1,C/S可以使用任何通信协议,而B/S这个特殊的C/S架构规定必须实现HTTP协议
2,浏览器是一个通用客户端,本质上开发浏览器,还是实现一个C/S系统

C/S开发和B/S开发从本质上来讲,并没有什么区别。所以在其应用语言的选择上,没有太明确太严格的要求,就比如说:VB、VC等即可用于C/S 开发,也可用于B/S开发。如果非要说不同的话,那么作为我个人来说,也许是在一些类库上有区别。由于B/S的范围广,对象多,开发过程中需要应用的东西就多很多,所以可能会需要像是Ajax,JQuery等使用,或者说引用更多的API类库等。

2.3.2 区别:

投入成本:B/S在一般情况下只需求一次投入,即开发时的费用。而C/S随着其使用范围、人数的增多,其维护成本、开发成本相应的增多。

资源利用:当数据量达到一定的程度之后,C/S开发中的服务器无法满足其需求,通常需要更换性能更为优越的服务器,而原有的旧服务器被废弃。而作为B/S开发,在需求量增大时,可以通过增添服务器的数量去圆滑的解决这个问题,其资源的利用程度相对较高。

三、总结

有些资料还是要去查一下的,然后才能明确。很多时候,不是自己不知道,只是不敢确定。但这种不确定性,却会在后续的学习中带来很大的困扰。

从C/S开发到B/S开发,随着受众的增多,或者说是庞大的系统结构,通常一个服务器端根本解决不了问题,那么,服务器端的增加会带来什么影响?当一个系统太过于庞大的时候,如果我们仍然使用一个解决方案,在后续维护的时候,会出现什么问题?

----============================

举两个例子表明c/s架构的服务器的存在性

看,qq的断开与服务器相连,注意任何一种c/s结构的客户端软件都是需要和数据库服务器相连的,只不过在客户那里表现的不是很明显,比如说qq,没有网络的时候我们为什么是用不了,因为qq客户端已经断开了和服务器的连接,自然信息是无法a-服务器-b的,

再看这个wps软件,为什么他能实现备份,因为他本质是个客户端,和远程服务器相连,备份的实际就是文件上传到远程服务器了。所以说c/s架构

猜你喜欢

转载自blog.csdn.net/strivenoend/article/details/83035264
今日推荐