B/S与C/S的差别
前一段时间已经结束了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的差别的更多相关文章
- ROLAP和MOLAP的概念和差别
ROLAP和MOLAP的概念和差别OLAP(on-Line Analysis Processing)是使分析人员.管理人员或执行人员能够从多角度对信息进行快速.一致.交互地存取,从而获得对数据的更深入 ...
- apt-get upgarde和dist-upgrade的差别
apt-get upgarde和dist-upgrade的差别 apt-get upgarde和dist-upgrade的差别 Debian/Ubuntu Linux都使用apt,升级时都是: ...
- python与ruby的差别
1.引用文件差别 Ruby:同一目录下的文件,如/usr/local/ruby/foo.rb与/usr/local/ruby/bar.rb两个文件.如果直接在foo.rb中 require 'bar' ...
- 【转】responseText,responseBody,responseXML差别
为了做ajax的代理,研究了下服务器端的xmlhttp和客户端ajax中的xmlhttp,做了个比较 由于我一直使用JavaScript作为Asp的教本语言,所以比较起来更清楚.服务器端的xmlhtt ...
- 我的ORM之十二 -- 支持的数据库及差别
我的ORM索引 支持最好的是SqlServer2005,Sqlserver2008,SqlServer2012 ,后续将支持:MySql,Sqlite,Oracle. 1.分页差别 MsSql 200 ...
- save与persist差别
唯一差别: 在没提交事务情况下 save会产生insert语句,然后因为没提交事务进行回滚. 而这种情况,persist是连insert语句都不会产生.
- VS 2008 生成操作中各个选项的差别
近日,在编译C#项目时经常发现有些时候明明代码没错,但就是编译不过,只有选择重新编译或者清理再编译才会不出错,本着求学的态度,搜罗了下VS2008IDE中生成操作的种类以及差别,整理如下: 内容( ...
- Angular 1与 Angular 2之间的一些差别
现在在用ng1.5.8做一个项目,ng的优点和特性我就不用多说了,ng1在陆续更新到1.5/1.6后就没再推出新版本了,ng2已经面世测试很久了,如同很多系统和框架一样,每个大的版本更新都会有新特性加 ...
- PC互联网和移动互联网的本质差别
网一代,我们先称为PC互联网,这大约可以从2010年作为分界,然后就是基于手机,及可穿戴的移动互联网. 在PC时代,软件都很庞大复杂,甚至客端端和网页混合,比如常见的桌面软件,Office及Photo ...
- MyBatis mapper文件中的变量引用方式#{}与${}的差别
MyBatis mapper文件中的变量引用方式#{}与${}的差别 #{},和 ${}传参的区别如下:使用#传入参数是,sql语句解析是会加上"",当成字符串来解析,这样相比于$ ...
随机推荐
- Date与String间的转换
一.Date-->String :格式化过程 1. DateFormat :String format(Date d) 2.SimpleDateFormat是继承DateFormat(抽象类)的 ...
- window api 监控
http://pnig0s1992.blog.51cto.com/393390/704189
- Codeforces Round #309 (Div. 2) C. Kyoya and Colored Balls
Kyoya Ootori has a bag with n colored balls that are colored with k different colors. The colors are ...
- VS中运行HTTP 无法注册URL
参考资料 http://www.java123.net/detail/view-449670.html http://www.cnblogs.com/jiewei915/archive/2010/06 ...
- 编译Opencv的GPU,利用CUDA加速
首先检查自己的机器是否支持,否则都是白搭(仅仅有NVIDIA的显卡才支持.可在设备管理器中查看) 假设不用GPU.能够直接官网下载预编译好的库 环境: 1 VS2013 2 Opencv2.4.9 3 ...
- Pig系统分析(5)-从Logical Plan到Physical Plan
Physical Plan生成过程 优化后的逻辑运行计划被LogToPhyTranslationVisitor处理,生成物理运行计划. 这是一个经典的Vistor设计模式应用场景. 当中,LogToP ...
- 使用静态库的一些问题 -all_load
1.使用类目在我们的静态库中涉及到 类目 catagory的使用时,会崩溃:此时我们需要设置project的Info里面的Link Flag处,增加-all_load,这样会链接所以存在的symbol ...
- 【docker】docker部署spring boot项目在服务器上
IDE:idea 工具:docker spring boot:2.0.1 ======================================== 简单记录一下流程,以供参考: 第一步:首先得 ...
- remotepath != null 与 !TextUtils.isEmpty(remotepath) 的差别
remotepath != null 与 !TextUtils.isEmpty(remotepath) 的差别 !TextUtils.isEmpty(remotepath) 与 remo ...
- 约合¥1720 LG法国称G Watch将于6月开卖
近来LG法国官方透露音讯称旗下首款智能手表G Watch将于本年6月份正式出售,预定报价为199欧元(约合¥1720). 这就意味着这款智能手表会在googleI/O大会完成之后就会开端出售,从goo ...