C/S和B/S都是软件架构方式:

C/S(Client/Server) :客户端/服务器结构,其中客户端和服务器端都是独立的计算机,客户端是面向用户的应用程序或者是接口,服务器端通常采用高性能的PC、工作站或者小型机,并采用大型数据库系统。例如ORACLE、 SQL Server等,且C/S较之B/S最好的一点是不依赖与外网环境,无论是否有网络连接,都可以使用。

优点:

(1)C/S模式下,很多工作可以在客户端处理之后再提交给服务器,对应的优点就是客户端响应速度快。

(2)将应用程序与服务器分离,系统具有稳定性和灵活性。

(3)在局域网上中,安全性高。

缺点:

(1)只适用于局域网,随着互联网的飞速发展,移动办公和分布式办公越来越普及,远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。

(2)客户端需要安转专门的客户端软件,并且一旦用户的电脑出现问题,如病毒,硬件损坏都需要进行重新安装或者维护,软件的维护成本也相对较高。

(3)客户端软件对操作系统有限制,有些软件可能不是所有的计算机都可以随意安装。

B/S(Browser/Server):浏览器/服务器结构,B/S是特殊的一种C/S结构,是对C/S的改进和变化,B/S是基于应用层http协议的web,建立在广域网上。其中的浏览器主要是指的Web浏览器,如Google,firefox,IE等,用户界面主要也是通过浏览器来实现,一部分事务逻辑在前端实现,绝大部分主要的事务逻辑则是在服务器端实现。

优点:

(1)每次维护或者升级,只要对服务器端进行维护和升级即可,不需要对成千上万的客服端进行维护和升级,减少了人力资源成本。

(2)开放性好(用户通过通用浏览器访问),可扩展性好。

(3)用户使用方便,不需要安装相应的软件,只要有浏览器就行。

缺点:

(1)开放性好,那相对来说安全性就会较弱。

(2)响应速度受很多因素影响,用户体验不是特别好。

区别:

1、

B/S主要是建立在广域网的基础上,C/S主要是建立在局域网的基础上。

B/S的客户端不需要维护,适用于用户群庞大情况。C/S功能强大,可以减轻服务器端压力。

2、硬件环境不同

C/S一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.。

B/S建立在广域网之上的, 一般只要有操作系统和浏览器就可以操作。

3、对安全的要求不同

C/S一般面向相对固定的用户群, 对信息安全的控制能力很强。

B/S建立在广域网之上, 对安全的控制能力相对弱, 用户群也不固定,范围广,有很多不可控的因素。

4、对程序的架构不同

C/S程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑.

B/S对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上,比C/S有更高的要求

5、软件重用不同

C/S程序可以不可避免的整体性考虑,软件的专业性强,构件的重用性不如在B/S要求下的构件的重用性好.

B/S多重结构,要求构件相对独立的功能.

6、用户接口不同

C/S多是建立的Window平台上。

B/S建立在浏览器上, 通过WEB服务或其他公共可识别描述语言可跨平台,使用更灵活。可以跨平台使用。

7、系统维护不同

C/S程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级。牵一发可能动全身,甚至有时候要重新开发新的系统。

B/S构件组成,方面构件个别的更换,实现系统的无缝升级。系统维护开销减到最小.用户从网上自己下载安装就可以实现升级。

8、信息流不同

C/S程序交互性相对低。

B/S信息流向可变化, B-B B-C B-G等信息、流向的变化, 类似于交易中心。

总的来说,B/S相对于C/S有更大的优势:

B/S可以方便用户随时随地使用,只要有操作系统和浏览器,可以跨平台且不用维护。

而C/S则需要安装相应的软件,安全性高运行速度快,但是成本高,且不易于维护。


 
												

C/S,B/S的应用的区别的更多相关文章

  1. c#与java的区别

    经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...

  2. jquery和Js的区别和基础操作

    jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...

  3. 【原】nodejs全局安装和本地安装的区别

    来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的 ...

  4. 探究@property申明对象属性时copy与strong的区别

    一.问题来源 一直没有搞清楚NSString.NSArray.NSDictionary--属性描述关键字copy和strong的区别,看别人的项目中属性定义有的用copy,有的用strong.自己在开 ...

  5. X86和X86_64和X64有什么区别?

    x86是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,ntel官方文档里面称为&qu ...

  6. Java中Comparable与Comparator的区别

    相同 Comparable和Comparator都是用来实现对象的比较.排序 要想对象比较.排序,都需要实现Comparable或Comparator接口 Comparable和Comparator都 ...

  7. MySQL中interactive_timeout和wait_timeout的区别

    在用mysql客户端对数据库进行操作时,打开终端窗口,如果一段时间没有操作,再次操作时,常常会报如下错误: ERROR (HY000): Lost connection to MySQL server ...

  8. 设置line-height:1.5和line-height:150%或者line-height:150px的区别

    直接正题: 看一下line-height可能的值: 其实可以分为两类: (1)不带单位的(如line-height:1.5),这种是推荐使用的: (2)带单位的(如line-heigth:30px/1 ...

  9. C#中Length和Count的区别(个人观点)

    这篇文章将会很短...短到比你的JJ还短,当然开玩笑了.网上有说过Length和count的区别,都是很含糊的,我没有发现有 文章说得比较透彻的,所以,虽然这篇文章很短,我还是希望能留在首页,听听大家 ...

  10. select、poll、epoll之间的区别总结

    select.poll.epoll之间的区别总结 05/05. 2014 select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪 ...

随机推荐

  1. Windows上安装 TensorFlow及简单命令

    1.官网及帮助文档 官网: https://www.tensorflow.org/install/install_windows 中文帮助文档:https://efeiefei.gitbooks.io ...

  2. TP5系统变量输出

    1.超全局变量 模板中: {$Think.sever.server_name}              //全部小写,输出blog.cn 控制器: $_SERVER['SERVER_NAME']  ...

  3. layui tips

  4. 今日头条移动app广告激活数据API对接完整Java代码实现供大家参考》》》项目随记

    这是自毕业后的第一篇博客,希望自己今后能养成写博客的一个好习惯.最近公司为了加速APP推广,采取在外部平台(如:今日头条)进行广告投放的方式,进行用户引流.因此我们需要对广告的激活数据进行一个检测,跟 ...

  5. ES6函数增强

    函数参数可以拥有默认值.调用函数时,如果没有进行相应的实参传递,参数就会使用默认值.怎么给参数提供默认值呢?很简单,声明函数时候,给形参赋一个值就可以了,这个值就是参数的默认值. // num2拥有默 ...

  6. Power Spectral Density

    对于一个特定的信号来说,有时域与频域两个表达形式,时域表现的是信号随时间的变化,频域表现的是信号在不同频率上的分量.在信号处理中,通常会对信号进行傅里叶变换得到该信号的频域表示,从而得到信号在频域上的 ...

  7. nginx POSTREAD阶段模块

    L:50 Realip模块 需要将--with-http_realip_model 编译进Nginx 因为nginx有可能有反向代理 获取到的客户端ip就不是原用户IP了 X-Forwarded-Fo ...

  8. 测试md

    一级标题 table class="top_ta" width="100%" border="0" cellspacing="0& ...

  9. Civil 3D 二次开发 事务

    事务,一般是指要做的或所做的事情.在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit). 对于初学者来说,从字面上难以理解什么是事务.下面我试着通过讲述事务的作用及特性来帮 ...

  10. linq之group by 的使用

    group by var list = from s in _sysBll.GetList(s => s.ParamID == "TraSchType" && ...