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语句解析是会加上"",当成字符串来解析,这样相比于$ ...
随机推荐
- JVM监控启动参数
服务端: JVM监控启动参数 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=52001 -Dcom.sun.ma ...
- AES advanced encryption standard 2
/* * FIPS-197 compliant AES implementation * * Copyright (C) 2006-2007 Christophe Devine * * Redistr ...
- MyEclipse Web项目调试
1.发布项目 2.启动服务 服务有两种启动方式,Run Server和Debug Server Run Server是运行模式,Debug Server是调试模式 使用Debug Server模式启动 ...
- ProGuard使用简介
我们做java开发的一般都会遇到如何保护我们开发的代码问题.java语言由于是基于jvm上面,所以反编译class 文件很很容易.假如我们做了一个web程序,并把这个web程序发布给客户.实际上,客户 ...
- 使用POI操作Excel时对事先写入模板的公式强制执行
场景:POI读取Excel模板. 当使用POI操作Excel时,发现由POI生成的公式能够在打开Excel是被执行, 而事先手工写入Excel模板文件的公式则不自动被调用,必须手动双击该Cell才能生 ...
- c++反汇编与逆向分析 小结
第一章 熟悉工作环境和相关工具 1.1 熟悉OllyDBG 操作技巧 1.2 反汇编静态分析工具 IDA(最专业的逆向工具) 快捷键 功能 Enter 跟进函数实现 ...
- Python3.6学习笔记(二)
Python 的高级特性 切片 对于指定索引范围取值的操作,Python提供了slice方法,类似于Excel中数据透视表的切片器. >>> L = ['Michael', 'Sar ...
- hdu 4548 美素数 超级大水题
美素数 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submis ...
- linux下永久添加静态路由
在linux下永久添加静态路由有两种方法: 添加路由的命令: 1,route add route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 ...
- 你应该抓紧学习Python,它是开发Web应用最强大的语言
Python和少数几种编程语言,如MySQL.Perl.PHP和与LAMP打包的网络结构一起的Apache,已经成为Linux的一个基本组件.即 使从它诞生开始,Python就与其他动态编程语言如Ru ...