前一段时间已经结束了C/S的学习,開始了B/S的旅程,那么为什么我们要学习这两个,这两个有什么差别呢?这些差别你知道多少呢?

B/S结构。即Browser/Server(浏览器/server)结构。是随着Internet技术的兴起。对C/S结构的一种变化或者改进的结构。

在这样的结构下,用户界面全然通过WWW浏览器实现,一部分事务逻辑在前端实现。可是主要事务逻辑在server端实现,形成所谓3-tier结构。

B/S结构。主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器  
就实现了原来须要复杂专用软件才干实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部。这样的结构更成为当今应用软件的首选体系结构。

C/S结构,即Client/Server(客户机/server)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,减少了系统的通讯开销。能够充分利用两端硬件环境的优势。

早期的软件系统多以此作为首选设计标准。

BS/CS

C/S

B/S

硬件环境

局域网。专门server

广域网。不必专门硬件环境

安全要求

服务端。client

仅仅注重服务端安全

程序架构

安全以及訪问速度多重考虑

注重流程,对执行速度考虑少

软件重用

不可避免的多重性考虑

要求构件独立的功能,能较好重用

系统维护

因为总体考虑,升级难,可能做一个全新系统

构件组成。方便更换。系统维护开销最小

处理问题

处理用户面固定,同样的系统

面向不同用户群,分散地域,与操作系统关系最少

用户接口

建立在windows平台,表现方法有限。对程序猿要求高

建立在浏览器上,可跨平台。不仅应用在windows平台

信息流

典型的中央集权的机械式处理, 交互性相对低

信息流向可变化, B-B B-C B-G等信息流向的变化, 更像交易中心

B/S 模式的缺点

1.响应速度不及C/S,随着AJAX技术的发展。相比传统B/S结构软件提升一倍速度。

2.用户体验效果不是非常理想。B/S须要单独界面设计,厂商之间的界面也是千差万别,因为浏览器刷新机制,使用时有刷屏现象,好在AJAX技术解决这一难题,像用友。智赢等开发的B/S架构软件用户体验效果与C/S差点儿相同。

C/S 模式的缺点

1.仅仅适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这须要我们的系统具有扩展性。这样的方式远程訪问须要专门的技术,同一时候要对系统进行专门的设计来处理分布式的数据。

2.client须要安装专用的client软件。

首先涉及到安装的工作量。其次不论什么一台电脑出问题,如病毒、硬件损坏,都须要进行安装或维护。

特别是有非常多分部或专卖店的情况。不是工作量的问题,而是路程的问题。

还有。系统软件升级时。每一台客户机须要又一次安装。其维护和升级成本非常高。

两者都有优缺点。所以我们能够依据自己的须要来选择不同的模式。而不是就去淘汰还有一方。

B/S与C/S的差别的更多相关文章

  1. ROLAP和MOLAP的概念和差别

    ROLAP和MOLAP的概念和差别OLAP(on-Line Analysis Processing)是使分析人员.管理人员或执行人员能够从多角度对信息进行快速.一致.交互地存取,从而获得对数据的更深入 ...

  2. apt-get upgarde和dist-upgrade的差别

    apt-get upgarde和dist-upgrade的差别 apt-get upgarde和dist-upgrade的差别   Debian/Ubuntu Linux都使用apt,升级时都是:  ...

  3. python与ruby的差别

    1.引用文件差别 Ruby:同一目录下的文件,如/usr/local/ruby/foo.rb与/usr/local/ruby/bar.rb两个文件.如果直接在foo.rb中 require 'bar' ...

  4. 【转】responseText,responseBody,responseXML差别

    为了做ajax的代理,研究了下服务器端的xmlhttp和客户端ajax中的xmlhttp,做了个比较 由于我一直使用JavaScript作为Asp的教本语言,所以比较起来更清楚.服务器端的xmlhtt ...

  5. 我的ORM之十二 -- 支持的数据库及差别

    我的ORM索引 支持最好的是SqlServer2005,Sqlserver2008,SqlServer2012 ,后续将支持:MySql,Sqlite,Oracle. 1.分页差别 MsSql 200 ...

  6. save与persist差别

    唯一差别: 在没提交事务情况下 save会产生insert语句,然后因为没提交事务进行回滚. 而这种情况,persist是连insert语句都不会产生.

  7. VS 2008 生成操作中各个选项的差别

    近日,在编译C#项目时经常发现有些时候明明代码没错,但就是编译不过,只有选择重新编译或者清理再编译才会不出错,本着求学的态度,搜罗了下VS2008IDE中生成操作的种类以及差别,整理如下:   内容( ...

  8. Angular 1与 Angular 2之间的一些差别

    现在在用ng1.5.8做一个项目,ng的优点和特性我就不用多说了,ng1在陆续更新到1.5/1.6后就没再推出新版本了,ng2已经面世测试很久了,如同很多系统和框架一样,每个大的版本更新都会有新特性加 ...

  9. PC互联网和移动互联网的本质差别

    网一代,我们先称为PC互联网,这大约可以从2010年作为分界,然后就是基于手机,及可穿戴的移动互联网. 在PC时代,软件都很庞大复杂,甚至客端端和网页混合,比如常见的桌面软件,Office及Photo ...

  10. MyBatis mapper文件中的变量引用方式#{}与${}的差别

    MyBatis mapper文件中的变量引用方式#{}与${}的差别 #{},和 ${}传参的区别如下:使用#传入参数是,sql语句解析是会加上"",当成字符串来解析,这样相比于$ ...

随机推荐

  1. OPENCV----在APP性能测试中的应用(一)

    应用项目:  APP的性能测试 应用场景:  APP启动速度  视频开播速度 加载速度  等~~ 缘来:  基于APP日志和UiAutomator的测试方案,测试结果不能直白且精确的反应,用户的体验 ...

  2. eclipse鼠标变成十字架

    不知道按到什么或者点到什么button了,在eclipse里面鼠标就变成了十字架形式.解决的方法是按:alt+shift+a 原来alt+shift+a是框选代码的.长见识了!

  3. IOS学习笔记41--图片的缩放(一)

    图片的缩放 一:Pinch手势对图片进行缩放.即用两根手指往不同方向拖拉照片,照片会被缩小或放大. 我理解的原理:等比缩放 先看如下关键代码: 1.初始化参数 - (void)viewDidLoad ...

  4. C#中List<T>是怎么存放元素的

    Jeffrey Zhao在"你的字典里有多少元素?"一文中,提到了他在面试时问过的一个问题:List<T>是怎么存放元素?不幸的是,自己也回答不出来,只知道怎么用,却不 ...

  5. MEF(Managed Extensibility Framework)有选择性地使用扩展组件

    在"MEF(Managed Extensibility Framework)使用全部扩展组件"中,客户端应用程序调用了所有的扩展组件,而且如果有新的扩展组件加入,必须先关闭程序,再 ...

  6. windows下androidNDK环境配置

    一:什么是NDK? NDK 提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so 和java 应用一起打包成apk.这些工具对开发者的帮助是巨大的. NDK 集成了交叉编译器, ...

  7. js读取json方法

    json也是对象,可以直接使用对象调用 var json = {contry:{area:{man:"12万",women:"10万"}}}; json.con ...

  8. 【BZOJ】【2946】【POI2000】公共串

    后缀数组 好感动,复习了下后缀数组居然写出来了……(感谢ykz大神) 求最长公共子串……WA了一发是因为:[不同字符串之间要用不同的特殊字符隔开]否则就会匹配到相同→_→比如都是aaa结尾,如果用相同 ...

  9. HTTP协议状态码详解(HTTP Status Code)(转)

    原文链接:HTTP协议状态码详解(HTTP Status Code) 使用ASP.NET/PHP/JSP 或者javascript都会用到http的不同状态,一些常见的状态码为: 200 – 服务器成 ...

  10. Java集合框架2

    8. 枚举(Enum)使用示例 声明一个枚举类型的简单形式如下: 访问类型 enum 枚举类名{值1[,值2,......]}; 例8. 为枚举类添加辅助方法. package set; public ...