什么是B/S架构?

news2024/9/30 7:23:54

目录

一.什么是B/S架构?

二.B/S架构与C/S架构有什么区别?

三.B/S架构的优缺点

四.B/S架构的几种形式

1:客户端-服务器-数据库

2:客户端-web服务器-应用服务器-数据库

3:客户端-负载均衡器(Nginx)-中间服务器(Node)-应用服务器-数据库


一.什么是B/S架构?

B/S架构,即浏览器/服务器架构,是一种网络架构模式,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户端只需要安装一个浏览器,通过Web服务器与数据库服务器进行数据交互。B/S架构利用了Web浏览器技术和Internet协议,实现了异构系统的连接和信息的共享。

B/S架构的分层:

第一层表现层:主要完成用户和后台的交互及最终查询结果的输出功能。

第二层逻辑层:主要是利用服务器完成客户端的应用逻辑功能。

第三层数据层:主要是接受客户端请求后独立进行各种运算。

二.B/S架构与C/S架构有什么区别?

B/S架构与传统的C/S架构有什么区别呢?C/S架构,即客户端/服务器架构,是一种分布式应用模式,将系统功能分为两层:客户端和服务器端。客户端负责用户界面和业务逻辑,服务器端负责数据存储和处理。C/S架构需要在每个客户端安装专用的软件,对网络和硬件资源的要求较高。

三.B/S架构的优缺点

B/S架构和C/S架构各有优缺点,具体选择要根据系统的需求和环境来决定。下面我们来比较一下它们的主要特点:

- 开发成本:B/S架构的开发成本相对较低,因为可以利用现有的Web技术和工具,而且不需要考虑客户端的兼容性问题。C/S架构的开发成本相对较高,因为需要开发专门的客户端软件,并且要适应不同的操作系统和硬件环境。
- 维护成本:B/S架构的维护成本相对较低,因为只需要升级服务器端的软件,而客户端无需安装或更新。C/S架构的维护成本相对较高,因为需要在每个客户端进行安装或更新,并且要处理各种软硬件故障。
- 安全性:B/S架构的安全性相对较低,因为数据传输过程中容易被截取或篡改,而且客户端无法控制用户的访问权限。C/S架构的安全性相对较高,因为数据传输过程中可以采用加密或认证技术,而且客户端可以设置用户的访问权限。
- 交互性:B/S架构的交互性相对较高,因为可以利用Web浏览器的多种脚本语言和ActiveX技术,实现动态和丰富的用户界面。C/S架构的交互性相对较低,因为客户端软件的功能和界面受限于开发工具和平台。
- 扩展性:B/S架构的扩展性相对较高,因为可以通过增加服务器或负载均衡技术,提高系统的并发能力和可靠性。C/S架构的扩展性相对较低,因为需要考虑客户端软件的兼容性和升级问题。

综上所述,B/S架构是一种适合于Internet环境下的网络应用模式,它具有开发、维护简单,交互性强,扩展性好等优点。但是它也存在着安全性差,数据传输效率低等缺点。因此,在选择B/S架构时,需要根据系统

四.B/S架构的几种形式

1:客户端-服务器-数据库

这个应该是我们平时比较常用的一种模式:

1、客户端向服务器发起Http请求

2、服务器中的web服务层能够处理Http请求

3、服务器中的应用层部分调用业务逻辑,调用业务逻辑上的方法

4、如果有必要,服务器会和数据库进行数据交换. 然后将模版+数据渲染成最终的Html, 返送给客户端

2:客户端-web服务器-应用服务器-数据库

类似于第一种方法,只是将web服务和应用服务解耦

1 客户端向web服务器发起Http请求

2 web服务能够处理Http请求,并且调用应用服务器暴露在外的RESTFUL接口

3 应用服务器的RESTFUL接口被调用,会执行对应的暴露方法.如果有必要和数据库进行数据交互,应用服务器会和数据库进行交互后,将json数据返回给web服务器

4 web服务器将模版+数据组合渲染成html返回给客户端

3:客户端-负载均衡器(Nginx)-中间服务器(Node)-应用服务器-数据库

这种模式一般用在有大量的用户,高并发的应用中。

1、整正暴露在外的不是真正web服务器的地址,而是负载均衡器器的地址

2、客户向负载均衡器发起Http请求

3、负载均衡器能够将客户端的Http请求均匀的转发给Node服务器集群

4、Node服务器接收到Http请求之后,能够对其进行解析,并且能够调用应用服务器暴露在外的RESTFUL接口

5、应用服务器的RESTFUL接口被调用,会执行对应的暴露方法.如果有必要和数据库进行数据交互,应用服务器会和数据库进行交互后,将json数据返回给Node

6、Node层将模版+数据组合渲染成html返回反向代理服务器

7、反向代理服务器将对应html返回给客户端

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/438071.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

4个方法助你从戴尔笔记本电脑D盘中恢复丢失的文件

用户案例: 案例1:我有一台戴尔笔记本电脑,D盘上存储了很多个人照片和视频,但最近不知道什么原因,这些数据突然全部消失了。因为这些数据是我珍贵的回忆。所以想问问大家戴尔电脑丢失d盘文件怎么恢复? 案例2…

网络中的网关和物联网的网关区别 局域网 路由器 交换机 服务器

网关:是个概念。连接两种不同的网络。例如局域网要与外部通信,需要经过网关。 设备和设备之间的通信,转换协议需要网关 路由器里有功能是对网关这个概念的实现。 所以网关它可以是路由器,交换机或者是PC。 路由器有网关功能&a…

Flink-Scala版学习——转换算子

目录 一、基本转换算子 1.map 2.filter 3.flatMap 3.聚合算子Aggregation (1)keyBy (2)简单聚合:sum、min、minBy、max、maxBy (3)归约聚合:reduce 二、UDF 三、富函数类 四、物理分区 1.随机分区(shuffle) 2. 轮询分区(Round-R…

4月20日第壹简报,星期四,农历三月初一,谷雨

4月20日第壹简报,星期四,农历三月初一,谷雨坚持阅读,静待花开1. 已致29人死亡,26人为患者!北京长峰医院火灾事故因院内施工作业火花引发,院长王某玲等12人被刑拘。2. 海南发布旅游产品参考价格&…

第二十三章 案例TodoList之数据更新

本小节,我们要实现点击复选框,修改任务项的实时状态,但是Item组件和App组件是祖孙关系,不是父子关系,我们还能使用props进行通信吗?答案是可以的。 在App组件定义一个更新的函数并传递给Item组件 1、定义…

车载网络 - Autosar网络管理 - 网络管理报文

三、网络管理报文 NM报文的ID一般定义为:基础ID源地址,每个节点应分配一个唯一的标识符(ECU地址)Node_ID,网络管理报文一般会统一一个基地址,这个是根据主机厂不同而不同,有些是用0x400 - 0x4FF…

多通道振弦传感器无线采集仪如何外接数字传感器

多通道振弦传感器无线采集仪如何外接数字传感器 数字传感器的数据接入逻辑 VS 设备支持在 RS485 接口外接数字传感器, 可进行单类型、多类型数字传感器接入。 单类型数字传感器:使用寄存器 DS_SENSOR(282)来设置单类型数字传感器的类型和数量&#xff08…

用Flutter开发一款企业级App(开眼Flutter-OpenEye)

先贴项目地址:WinWang/open_eye: Flutter 开眼APP:整体项目架构基于Getx搭建,完成路由,依赖注入;网络请求框架基于RetrofitDio实现,配合官方JsonSerialize实现解析;封装项目页面多状态&#xff…

新媒体运营团队如何协同工作?

随着媒体形式的不断丰富和演变,社交、短视频等软件的盛行,新媒体运营成为近几年新兴的行业。 在新媒体团队工作过程中可能会遇到以下问题: 1)热点不断更迭,文档资料需要快速流通; 2)通过传统的…

US-DAPQ比例放大器指令接线

序号 端子名称 功能 1 CMD_P 压力阀指令 2 CMD_P- 压力阀指令- 3 CMD_Q 流量阀指令 4 CMD_Q- 流量阀指令- 5/6 N.C. 不接 7 VREF_5V 参考电压5V 8 VREF_0V 参考电压0V 9 SOL_P 压力阀线圈 10 SOL_P- 压力阀线圈 11 PWR 电源 12 PWR- 电源- 13 SOL_Q- 流量阀线圈 1…

mysql知识

1.执行步骤 2.Write-Ahead Logging 技术 这两种日志有以下三点不同。 ①redo log 是 InnoDB 引擎特有的;binlog 是 MySQL 的 Server 层实现的,所有引擎都可以使用。 ②redo log 是物理日志,记录的是“在某个数据页上做了什么修改”&#x…

【Linux】项目自动化构建工具 —— make/Makefile

前言: 在上一期的博文中,我们对 Linux 下的编译器 - gcc/g的使用进行了详细的讲解,今天我将给大家讲解的是关于 【Linux】项目自动化构建工具 —— make/Makefile 的详细使用教程!! 本文目录 (一&#x…

ai智能文章生成器-ai论文写作

在数字时代,营销推广策略已经向数字化方向发展。今天我们要介绍的是一款名为“智能ai写作免费”的软件,它可以让营销人员轻松地创作新的内容,并且其中不需要过多的技术知识或文学背景。这款软件可以为许多企业和机构带来创造性的帮助。 智能A…

婴幼儿口水巾围兜出口美国CPC认证

婴幼儿口水巾、围兜在美国销售需要办理CPC认证,即儿童安全产品证书。 什么是CPC认证?美国亚马逊儿童玩具和儿童用品CPC认证是指颁发书面儿童产品证书(CPC、,其中制造商或进口商证明其儿童产品符合所有适用的儿童产品安全规则。儿童…

被盗的ChatGPT账户在暗网热销,ChatGPT的隐私和安全问题依旧值得关注

在过去的一个月,Check Point研究人员在暗网上观察到了与ChatGPT相关的各种讨论和交易。暗网上最新的活动包括泄露和免费发布ChatGPT账户的凭据,以及交易被盗的ChatGPT账户。 根据Check Point进行的一项研究,从今年3月以来,被盗的…

QPSK调制解调FPGA实现成果展示:

目录 QPSK调制解调使用参数: 调制: 解调: FPGA工程架构: 仿真参数: 仿真展示: 调制: 解调: MATLAB星座图展示: QPSK调制解调使用参数: 采样率为4M&…

Revit插件 | 建模助手下半年规划大揭秘!

​hi,这里是建模助手。 在上周推送『建模助手年度版本大更新』后,很多盆友和我们反馈这次的升级,真被细节打动。 版本的兼容性更给力了,避免了某版本的Revit不可用的现象; 有求必应板块更细致了,新增了阶…

breakpad编译指南(Windows)

在编译breakpad时候,遇到各种各样的问题,做些记录,以便后续参考 Windows下已有SetUnhandledExceptionFilter可以抓取dmp,为什么还要研究breakpad?因为breakpad是跨平台的,相关资料参考如下: 02…

迅为i.MX6ULL开发板I2C总线实现driver驱动

上一章节我们写了 client.c,并且我们已经成功地把它加载到内核里面。i2c 用非设备树实现,我们需要 用 i2c_board_info 这个结构体来描述我们的 i2c 设备,如果我们用设备树的方法来实现,我们直接在设备树 的节点下面添加创建对应设…

关于File.io的学习记录(读取文本)

可以通过字节流(FileInputStream)、字符流(InputStreamReader)、字符缓冲流(BufferedReader)读取文本中的数据。 1、FileInputStream读取文本 public void read(){String path "fileTest.txt";F…