B/S结构和C/S结构详细介绍

article/2025/9/22 6:10:40

文章目录

  • 什么是c/s结构、b/s结构
    • c/s结构
    • b/s结构
  • b/s结构和c/s结构各自的优点:
  • 数据放在服务端和客户端的利与弊?
  • c/s、b/s区别:

什么是c/s结构、b/s结构

1、C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。
2、B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,B/S结构,结合浏览器的多种script语言(VBscript、Javascript…)技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着互联网的崛起,B/S结构更成为当今应用软件的首选体系结构。

c/s结构

1、C/S 结构把数据库内容放在远程的服务器上,而在客户机上安装相应软件。C/S 软件一般采用两层结构,由两部分构成:前端是客户机,即用户界面结合了表示与业务逻辑,接受用户的请求,并向数据库服务提出请求,通常是一个PC 机;后端是服务器,即数据管理将数据提交给客户端,客户端将数据进行计算并将结果呈现给用户。
2、C/S 体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受,随着企业规模的日益扩大,软件的复杂程度不断提高,传统的二层 C/S 结构存在着很多局限,因此,三层 C/S 体系结构应运而生。其结构如左侧图所示。在三层 C/S 体系结构中,增加了一个应用服务器,可以将整个应用逻辑驻留在应用服务器上,而只有表示层存在于客户机上。这种结构被称为“瘦客户机”。三层C/S 体系结构将应用功能分成表示层、功能层和数据层。
在这里插入图片描述

b/s结构

1、B/S 结构,就是只安装维护一个服务器,而客户端采用浏览器运行软件。是随着 Internet 技术的兴起,对 C/S 结构的一种变化和改进。主要利用了不断成熟的 WWW 浏览器技术,结合多种 Script 语言和 ActiveX 技术,是一种全新的软件系统构造技术。采用 B/S 结构的计算机应用系统的基本框架如图所示。
2、B/S 三层体系结构采用三层客户服务器结构,在数据管理层和用户界面层增加了一层结构,即中间件,使整个体系结构成为三层。三层结构是伴随着中间件技术的成熟而兴起的,核心概念是利用中间层将应用分为表示层、业务逻辑层和数据存储层三个不同的处理层次。三个层次的划分是从逻辑上分的,具体的物理分法可以有多种组合。中间件作为构造三层结构应用系统的基础平台,提供了以下主要功能:负责客户机与服务器、服务器与服务器间的连接和通信;实现应用与数据库的高效连接;提供一个三层结构应用的开发、运行、部署和管理的平台。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。

在这里插入图片描述

b/s结构和c/s结构各自的优点:

B/S:web应用 可以实现跨平台,客户端零维护,但是个性化能力低,响应速度较慢。
C/S:桌面级应用 响应速度快,安全性强,个性化能力强,响应数据较快

数据放在服务端和客户端的利与弊?

服务端统一处理有更好的安全性和稳定性而且升级比较容易,不过服务器负担就增加了。

客户端将负担分配到每个用户,从而可以节约服务器紫云啊,安全性和稳定性可能会有一定的问题,升级也比较麻烦,每个安装的客户端程序都需要升级,另外为了节省网络资源,通过网络传输的数据应该尽量减少!

c/s、b/s区别:

硬件环境不同:
C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.
B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例如电话上网,租用设备, 信息管理. 有比C/S更强的适应范围,一般只要有操作系统和浏览器就行
对安全要求不同
C/S 一般面向相对固定的用户群,对信息安全的控制能力很强,一般高度机密的信息系统采用C/S 结构适宜,可以通过B/S发布部分可公开信息.
B/S 建立在广域网之上, 对安全的控制能力相对弱,面向是不可知的用户群.
对程序架构不同
C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑.
B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. 比C/S有更高的要求。B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持网络的构件搭建的系统. SUN 和推的JavaBean 构件技术等,使 B/S更加成熟.
软件重用不同
C/S 程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好.
B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.
系统维护不同
系统维护在是软件生存周期中,开销大。-------重要
C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统
B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.
处理问题不同
C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统
B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小.
用户接口不同
C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高
B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本.
信息流不同
C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低
B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更象交易中心


http://chatgpt.dhexx.cn/article/iElNknxI.shtml

相关文章

【BS学习】——B/S结构

定义: B/S结构,即浏览器/服务器结构,是一种从传统的二层C/S模式(客户端/服务器)发展起来的新的网络结构模式。其本质是三层结构C/S模式。 工作原理: 工作原理:客户端的浏览器通过URL访问Web服务…

zuul2架构简析

上图是Zuul2的架构,和Zuul1没有本质区别,两点变化: 前端用Netty Server代替Servlet,目的是支持前端异步。后端用Netty Client代替Http Client,目的是支持后端异步。过滤器换了一下名字,用Inbound Filters代…

Zuul和Gateway对比

Zuul1.x 使用bio的连接方式,基本已淘汰 Zuul2 特性 身份验证和安全性—识别每个资源的身份验证要求,并拒绝不满足这些要求的请求。洞察和监控-跟踪边缘的有意义的数据和统计数据,以便为我们提供准确的生产视图。动态路由-根据需要将请求动…

Zuul 2 : The Netflix Journey to Asynchronous, Non-Blocking Systems

We recently made a major architectural change to Zuul, our cloud gateway. Did anyone even notice!? Probably not... Zuul 2 does the same thing that its predecessor did -- acting as the front door to Netflix’s server infrastructure, handling traffic from …

微服务网关之Zuul下

上一篇博客介绍了Zuul网关如何与Hystrix、Apollo、CAT等集成,此篇博客将介绍如何在spring-cloud上使用zuul作为网关,以及zuul网关部署的一些建议。 在Spring cloud中引入zuul网关非常简单,首先在pom.xml文件中引入依赖的jar包(Demo地址)。 …

Zuul2.1 sample程序启动篇

Zuul2.1 sample程序启动篇 问题UML解决 问题 不使用AWS环境,Zuul2.1的sample程序是无法启动的。报错如下: WARN com.netflix.discovery.internal.util.Archaius1Utils [main] Cannot find the properties specified : eureka-client. This may be oka…

API Gateways – An Evaluation of Zuul 2

https://www.novatec-gmbh.de/en/blog/api-gateways-an-evaluation-of-zuul-2/ API Gateways – also known as Edge Service – are a fundamental part of a cloud-native microservice architecture. They represent the central access point for all requests for the bac…

Netflix正式开源其API网关Zuul 2--转

微信公众号:聊聊架构 5 月 21 日,Netflix 在其官方博客上宣布正式开源微服务网关组件 Zuul 2。Netflix 公司是微服务界的楷模,他们有大规模生产级微服务的成功应用案例,也开源了相当多的微服务组件(详见 GitHub 主页&a…

Netflix正式开源其API网关Zuul 2

5 月 21 日,Netflix 在其官方博客上宣布正式开源微服务网关组件 Zuul 2。Netflix 公司是微服务界的楷模,他们有大规模生产级微服务的成功应用案例,也开源了相当多的微服务组件(详见 GitHub 主页),受到了业内…

Zuul 2是如何动态加载Filter的?

Zuul 2沿用了Zuul 1的责任链模式的设计,其网关核心功能还是通过Filter链来实现的。要熟练使用和扩展Zuul 2的功能,必须要了解其Filter的加载和执行机制。另外,Zuul 2使用Guice作为依赖注入工具,因此在开始分析之前,我们…

Zuul2.1文档

Zuul2.1文档 What is Zuul?Why did we build Zuul?How We Use Zuul At NetflixGetting Started 2.0How It Works 2.0Architectural OverviewFilters Server ConfigurationServer ModesHTTPHTTP/2Mutual TLS FiltersIncomingEndpointOutgoingAsyncExtracting Body ContentUsef…

【微服务网关Zuul2】网关Zuul原理与实战

一、参考资料 Spring Cloud Netflix Zuul官方文档翻译 — Jbonehttps://jbone.cn/translate/spring-cloud-netflix-zuul/Spring Cloud Netflixhttps://docs.spring.io/spring-cloud-netflix/docs/2.2.9.RELEASE/reference/html/#router-and-filter-zuul

Zuul2 的 线程模型

Zuul2 的 线程模型 转自:https://www.jianshu.com/p/cb413fec1632 Zuul 2相对zuul 1 由同步改进为异步机制,没有了同步阻塞,全部基于事件驱动模型编程,线程模型也变得简单。 zuul做为一个网关接受客户端的请求–服务端&#xf…

Spring Cloud Gateway VS Netflix Zuul2

最近公司要引入统一网关,自己也参与调研了几种,当在研究Netflix的Zuul2和SpringCloudGateway时被网络上杂七杂八的材料跟震惊了,不客气地说很多国内博客都是在误人子弟,充斥着那些基于SpringCloud全家桶号称自己使用的是zuul2的“…

Zuul1和Zuul2该如何选择?

介绍 在今年5月中,Netflix终于开源了它的支持异步调用模式的Zuul网关2.0版本,真可谓千呼万唤始出来。从Netflix的官方博文[附录1]中,我们获得的信息也比较令人振奋: The Cloud Gateway team at Netflix runs and operates more t…

Zuul 2: Netflix的异步、无阻塞系统之旅

作者: Netflix Technology Blog 译者: java达人 来源: https://medium.com/netflix-techblog/zuul-2-the-netflix-journey-to-asynchronous-non-blocking-systems-45947377fb5c Zuul 2和它的“前辈”做了同样的事情—充当Netflix服务器基础设施的前门,处理来自全…

微服务架构:Zuul 1.0 和 2.0 我们该如何选择?

作者:架构师杨波 来源:波波微课 在今年5月中,Netflix终于开源了它的支持异步调用模式的Zuul网关2.0版本,真可谓千呼万唤始出来。从Netflix的官方博文[附录1]中,我们获得的信息也比较令人振奋: The Cloud Ga…

Zuul2核心架构

Zuul2的核心架构就是就是两大体系,netty体系和filter体系。 1 Netty体系 Zuul2底层采用Netty的事件响应模式,要掌握zuul2就必须先要掌握Netty。 1.1 Channel、Event、EventLoop、EventLoopGroup、ChannelHandler Channel:每一次通信就会启…

【Zuul2】网关Zuul控制台DashBoard

目录 一、需求背景 二、实现方案 一、源码获取 二、源码分析 三、效果展示 三、相关问题 一、需求背景 用JAVA为开发语言的流控网关主要分为以下三种: Netflix Zuul/Zuul2Spring Cloud GateWayAlibaba Sentinel 从定位上来看,Zuul2与SpringClou…

【Zuul2】Zuul2网关介绍及案例(非spring集成)

目录 一.使用缘由 二.项目介绍 1.核心内容 (1)三种过滤器 Inbound、Endpoint 、Outbound (2)配置文件application.properties (3)动态配置application.properties 2.参考文档 一.使用缘由 公司需要在springcloudgateway和zuul2间做一次较为完整的调研对比,…