BS架构(笔记整理)

news/2025/2/12 4:03:57/

楔子.基本概念

1.在网络架构中:

  • 服务器通常是集中式计算资源,负责处理和存储数据;
  • 客户机是请求这些服务的终端设备,可能是个人电脑或移动设备;
  • 浏览器则是客户机上用来与服务器交互的工具,负责展示网页内容和发送请求。(是阅读和浏览Web的工具,它是通过B/S方式与Web服务器交互信息的。 一般情况下,浏览器就是客户端,它要求服务器把指定信息传送过来,然后通过浏览器把信息显示在屏幕上。 浏览器实际上是一种允许用户浏览Web信息的软件,只不过这些信息是由Web服务器发送出来的。)

一、什么是B/S架构

1.B/S架构软件系统体系结构,指浏览器-Web服务器(Broswer-Server),采用三层架构,即表现层、业务逻辑层、数据访问层

2.B/S结构,主要是利用了不断成熟的浏览器技术,结合了浏览器的多种Script语言(VBScript、JavaScript…)和Active技术,通过浏览器实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。B/S结构就是指安装维护一个服务器(Server),而客户端采用浏览器运行的软件。随着Windows将web浏览器技术植入操作系统内部,这种结构已经成为当今应用软件的首选结构体系。

二、什么是C/S架构

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

三、三层架构

1.通常是指将整个业务应用划分为:表现层、业务逻辑层、数据访问层。目的是高内聚,低耦合。

数据层:数据访问层,也称为持久层,是对数据的操作,而不是指存放数据的数据库,为业务逻辑层或表示层提供数据服务。简单来说就是实现对数据表的select,insert,update,delete的操作

四、B/S架构和C/S架构的优缺点

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

  • 开发成本:B/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架构的几种形式

1、客户端/浏览器-服务器(web服务器+自己写的后端)-数据库
这个应该是我们平时比较常用的一种模式

(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返回给客户端

感激借鉴笔记:B/S架构_bs架构-CSDN博客

B/S架构及其运行原理_bs结构-CSDN博客

什么是B/S架构?_bs架构-CSDN博客


http://www.ppmy.cn/news/1571320.html

相关文章

WebSocket学习记录

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、什么是WebSocket二、为什么需要WebSocket三、WebSocket的工作原理四、如何使用WebSocket总结 前言 本文旨在深入探讨WebSocket协议的基础知识、工作原理以…

Unity3D Shader 简析:变体与缓存详解

引言 在 Unity3D 中,Shader 是渲染管线的核心部分,负责控制物体的外观和材质表现。Shader 的变体(Variants)和缓存机制是优化渲染性能的关键。本文将深入探讨 Unity3D 中 Shader 变体的概念、缓存机制以及如何通过代码实现和管理…

通过nginx配置解决跨源资源共享(CORS)漏洞

漏洞名称: 跨源资源共享不安全配置漏洞 风险等级: 中 详细描述: 跨源资源共享(CORS)是一种机制,允许不同源之间的Web资源相互交互。在CORS不安全配置漏洞中,Web应用的服务器被误配置为允许…

13.3 使用 Chat Prompt Template 设计专业翻译提示模板

使用 Chat Prompt Template 设计专业翻译提示模板 关键词:LangChain 翻译模板, 多语言支持, 术语一致性, 动态变量替换, 格式控制 1. 翻译模板核心要素设计 一个专业的翻译提示模板需要包含以下关键组件: 组件作用描述示例片段角色定义明确模型身份“你是一名专业翻译引擎”…

PHP音视频课程培训系统

📚 音视频课程培训系统——为您量身定制的智慧学习空间 🔧 这是一款匠心独运的课程培训系统,基于ThinkPHP与Uniapp先进框架精心构筑。它不仅集成了音视频课程点播、付费文档获取、活动报名等多元化功能,更致力于为您打造一站式、…

kafka查看topic消息是否堆积

消费kafka topic命令 集群&#xff1a; kafka-console-consumer.sh --zookeeper <ip:2181>,<ip:2181>,<ip:2181> --topic <topic_name>单例&#xff1a; kafka-console-consumer.sh --zookeeper <ip:2181> --topic <topic_name>查看kafka…

鼠标滚轮冒泡事件@wheel.stop

我有一个页面,是在画布上的组件,但是组件中有一个table,table中数据多了,就会出现滚动条,正常情况下,滚动条用鼠标滚轮就可以滑动,但是这个table是在画布上,滚动滚轮会让画布缩放 在table外层的div上加上 wheel.stop,就生效了 wheel.stop 用途&#xff1a;这个修饰符用于处理鼠…

51单片机(国信长天)矩阵键盘的基本操作

在CT107D单片机综合训练平台上&#xff0c;首先将J5处的跳帽接到1~2引脚&#xff0c;使按键S4~S19按键组成4X4的矩阵键盘。在扫描按键的过程中&#xff0c;发现有按键触发信号后(不做去抖动)&#xff0c;待按键松开后&#xff0c;在数码管的第一位显示相应的数字:从左至右&…