C/S架构和B/S架构介绍
一、C/S架构
1. C/S架构及其背景
C/S架构是一种比较早的软件架构,主要应用于局域网内。在这之前经历了集中计算模式,随着计算机网络的进步与发展,尤其是可视化工具的应用,出现过两层C/S和三层C/S架构,不过一直很流行也比较经典的是我们所要研究的两层C/S架构。
C/S架构软件(即客户机/服务器模式)分为客户机和服务器两层:第一层是在客户机系统上结合了表示与业务逻辑,第二层是通过网络结合了数据库服务器。简单的说就是第一层是用户表示层,第二层是数据库层。客户端和服务器直接相连,这两个组成部分都承担着重要的角色。
2. C/S架构的优点
a. 客户端和服务器直接相连。点对点的连接方式更安全,可以直接操作本地文本,比较方便。
b. 客户端可以处理一些逻辑事务。可以进行数据处理和数据存储,提供一定的帮助。
c. 客户端直接操作界面。
3. C/S架构的缺点
a> C/S架构适用于局域网,对网速的要求比较高。
b> 客户端界面缺乏通用性,且当业务更改时就需要更改界面,重新编写。
c> 随着用户数量的增多,会出现通信拥堵、服务器响应速度慢等情况。
d> 系统的维护也比较麻烦。
4. C/S架构的应用
C/S架构的软件是在是数不胜数,从办公的OFFICE,WPS,WINRAR到杀毒软件如金山,瑞金再到我们的娱乐软件,如播放器,QQ,微信等,无处不见C/S架构。
二、B/S架构
1. B/S架构及其背景
随着Internet和WWW的流行,以往的主机/终端和C/S都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求,于是就出现了B/S型模式,即浏览器/服务器结构。它是C/S架构的一种改进,可以说属于三层C/S架构。主要是利用了不断成熟的WWW浏览器技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
第一层是浏览器(即客户端)只有简单的输入输出功能,处理极少部分的事务逻辑。由于客户不需要安装客户端,只要有浏览器就能上网浏览,所以它面向的是大范围的用户,所以界面设计得比较简单,通用。
第二层是WEB服务器,扮演着信息传送的角色。当用户想要访问数据库时,就会首先向WEB服务器发送请求,WEB服务器统一请求后会向数据库服务器发送访问数据库的请求,这个请求是以SQL语句实现的。
第三层是数据库服务器,它存放着大量的数据。当数据库服务器收到了WEB服务器的请求后,会对SQL语句进行处理,并将返回的结果发送给WEB服务器,接下来,WEB服务器将收到的数据结果转换为HTML文本形式发送给浏览器。
2. B/S架构的优点
a> 浏览器和数据库服务器采用多对多的方式连接。因此适合在广域网里实现巨大的互联网,甚至是全球网,有着很强大的信息共享性。
b> 浏览器只处理一些简单的逻辑事务,负担小。
c> 数据都集中存放在数据库服务器,所以不存在数据不一致现象。
d> 随着服务器负载的增加,可以平滑地增加服务器的个数并建立集群服务器系统,然后在各个服务器之间做负载均衡。
e> B/S建立在广域网上,所以需要的网速要求不高。
f> 不需要安装客户端,只要能连上网,就能随时随地的浏览页面。
g> 能有效地保护数据平台和管理访问权限,确保服务器数据库的数据安全。
3. B/S架构的缺点
a> 服务器承担着重要的责任,数据负荷较重。一旦发生服务器“崩溃”等问题,后果不堪设想。
b> 页面需要不断地动态刷新,当用户增多时,网速会变慢。
4. B/S架构的应用
比如WEBQQ,从WEBQQ名称中的WEB就不难看出它属于B/S架构,是一种浏览器服务器结构。事实上也是如此,因为WEBQQ根本不需要安装客户端,只需要有浏览器就可以进行聊天交互了。
C/S架构和B/S架构介绍相关推荐
- 企业架构 - ADM方法概要介绍
在<企业架构 - 开篇:TOGAF介绍>中介绍了ADM是TOGAF的核心,本篇概要的介绍一下ADM方法的每个阶段的工作内容. 预备阶段 确定实现过程涉众,并且让它们面对企业架构工作的内容. ...
- 服务器物理架构,裸金属服务器架构介绍
最近看到很多文章介绍裸机云.云原生等相关知识,今天和大家介绍一下原生架构,希望可以帮助大家理解裸机云原生架构或裸金属服务器架构. 原生架构又称为裸金属架构,它将Hypervisor直接安装在硬件上,将 ...
- JDO 的架构作一个简单的介绍
JDO快速入门 Java数据对象(Java Data Objects,JDO)是一个应用程序接口(API),它是Java程序员能够间接地访问数据库,也就是说,不需使用直接的结构化查询语言(SQL)语句 ...
- android系统架构图及各层介绍
此技术文档主要是从基础了解Android系统架构,便于对以后开发形成一些基本应用架构. Android的系统架构采用了分层架构的思想,如图1所示.从上层到底层共包括四层,分别是应用程序程序层.应用框架 ...
- Tomcat 架构原理解析到架构设计借鉴
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 Tomcat 架构原理解析到架构设计借鉴 Tomcat 发展这 ...
- DotNET企业架构应用实践-系统架构与性能-缓存技术与ORM中的缓存查询技术
系列回顾 在前面的文章DotNET企业架构应用实践-系统架构与性能-理论依据及相关做法一文中我介绍了系统性能优化的理论做了一个概括的介绍,也简单的介绍了性能优化的过程及相关的技术关注点或者说是做法. ...
- 资深首席架构师眼中的架构应该是怎样的?【转】
"架构的视角每个人都不一样,这位在eBay.携程.唯品会等平台型互联网公司都工作过的老司机就以平台架构视角和大家分享架构心得体会.一家之言,欢迎讨论. 本文首发于InfoQ垂直公众号「聊聊架 ...
- 架构师之路 — 部署架构 — 超大规模负载均衡架构演进
目录 文章目录 目录 超大规模负载均衡架构演进技术路线 0.单机架构 1.HTTP 与 DB 服务器分开部署 2.引入本地缓存和分布式缓存 3.引入反向代理实现负载均衡 4.数据库读写分离 5.数据库 ...
- 亿级流量电商详情页系统实战:缓存架构+高可用服务架构+微服务架构
<缓存架构+高可用服务架构+微服务架构>深入讲解了亿级流量电商详情页系统的完整大型架构.同时最重要的是,在完全真实的大型电商详情页系统架构下,全流程实战了整套微服务架构,包含了基于领域驱动 ...
最新文章
- Android中有关数据库SQLite的介绍
- CNN网络优化加速开源代码汇总
- (0008) iOS 开发之iTunes Connect 显示可供销售,AppStore 不显示新版本
- 树形控件CTreeCtrl的使用详解(一)
- 专题 10 时钟与信号
- 10 款基于 jQuery 的切换效果插件推荐
- Yii学习笔记之二(使用gii生成一个简单的样例)
- 什么是JNDI,SPI,CCI,LDAP和JCA?
- LeetCode刷题实战(43):Multiply Strings
- LeetCode 1980. 找出不同的二进制字符串
- 姚期智:算法将推动下一波AI浪潮,现有革新将达极限
- 基于tensorflow框架训练超像素subpixel模型
- Yii 2.0 权威指南(3) 使用数据库
- FAT32文件系统详解
- 点名软件—使用二项分布实现点名均匀分布
- 如何使用Python查找文本文件的Zipf分布
- 服务器运维实习周记,设备维护实习周记 - 实习周记 - 书业网.doc
- 计算机自动执行的条件是,电脑中winsat.exe进程总会自动运行的解决方法
- 安卓 类微信界面实现
- 基于PHP的餐饮公司展示网站及点餐系统设计与实现