zoukankan      html  css  js  c++  java
  • B/S 开发和 C/S开发的区别

    一、基本概况

    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开发,而所用到的像JS,java,JQuery等,则会被认为更偏向于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开发,随着受众的增多,或者说是庞大的系统结构,通常一个服务器端根本解决不了问题,那么,服务器端的增加会带来什么影响?当一个系统太过于庞大的时候,如果我们仍然使用一个解决方案,在后续维护的时候,会出现什么问题?

    不积跬步无以至千里
  • 相关阅读:
    PHP图像操作:3D图、缩放、旋转、裁剪、添加水印(三)
    PHP图像操作:3D图、缩放、旋转、裁剪、添加水印(二)
    PHP图像操作:3D图、缩放、旋转、裁剪、添加水印(一)
    问题:关于贴友分类菜单的实现
    jq实现图片轮播:圆形焦点+左右控制+自动轮播
    CSS快速制作图片轮播的焦点
    常用的正则表达式归纳—JavaScript正则表达式
    JQuery插件之图片轮播插件–slideBox
    Javascript时间操作小结
    python第八天)——购物车作业优化完成
  • 原文地址:https://www.cnblogs.com/zhangyingZY/p/8011146.html
Copyright © 2011-2022 走看看