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. Lodop打印控件 超文本自动分页

    Lodop打印控件打印html超文本,通常传入一个超文本内容可能会超过纸张,如果要拆分每页显示哪些然后手动分页比较麻烦,Lodop中的超文本都有自动分页的特点.自动分页的依据:1.超文本超过设置的打印 ...

  2. ES 6 系列 - Promise

    一.含义 是异步编程的一种解决方案,es 6 将其变成了标准. 简单的说是一个容器,里面保存了某个未来才会结束的事件(通常是一个异步操作)的结果.语法上, Promise 是一个对象,从它可以获取异步 ...

  3. Linux编译静态库与共享库

    静态库: cc  -c   mod1.c  mod2.c //编译 ar   r     libdemo.a   mod1.o   mod2.o //生成静态库 cc  -c   prog.c //编 ...

  4. .net core 2.0 MVC区域

    区域 创建对应的目录结构 Areas System Controllers Views 在Startup.cs 注册路由 在控制器上方加上`[Area("system")]` // ...

  5. BZOJ2618[Cqoi2006]凸多边形——半平面交

    题目描述 逆时针给出n个凸多边形的顶点坐标,求它们交的面积.例如n=2时,两个凸多边形如下图: 则相交部分的面积为5.233. 输入 第一行有一个整数n,表示凸多边形的个数,以下依次描述各个多边形.第 ...

  6. Codeforces Round #470 Div. 1

    A:暴力枚举x2的因子,由此暴力枚举x1,显然此时减去其最大质因子并+1即为最小x0. #include<iostream> #include<cstdio> #include ...

  7. 轮询、长轮询、websock

    引入 Web端即时通讯技术:即时通讯技术简单的说就是实现这样一种功能:服务器端可以即时地将数据的更新或变化反应到客户端,例如消息即时推送等功能都是通过这种技术实现的.但是在Web中,由于浏览器的限制, ...

  8. 数据库 -- mysql记录操作

    一,概括 MySQL数据操作: DML 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现 ...

  9. Python小练习

    1.计算x的n次方 2.计算x的阶乘 3.计算1x1 + 2x2 + 3x3 ...+ NxN之和 def fun(n): s=0 while n > 0: s = s + n*n n = n ...

  10. Codeforces264 B. Good Sequences

    Codeforces题号:#264B 出处: Codeforces 主要算法:DP 难度:4.8 思路分析: 这题DP太难了…… 最终的解法是,令f[i]表示存在因子i的一个数作为子序列结尾的子序列的 ...