引言
Web 应用早已渗透进我们生活的方方面面,从电商购物到在线办公,再到政务服务。支撑这些庞大系统的底层逻辑,往往是一种核心的软件架构模式——B/S 架构(Browser/Server Architecture)。
作为对传统 C/S 架构的演进与优化,B/S 架构凭借跨平台性、集中式维护以及强大的可扩展能力,已成为现代 Web 开发的事实标准。今天咱们就来聊聊它的核心构成、工作流程以及未来的演进方向。
一、什么是 B/S 架构?
简单来说,B/S 架构就是一种基于 Web 的多层客户端 - 服务器模型。它的核心思想很明确:将用户界面、业务逻辑与数据存储进行分层解耦。用户只需要通过标准的 Web 浏览器访问系统,所有核心逻辑和数据处理都集中在服务器端完成。
这与传统的 C/S 架构不同,B/S 架构无需在用户设备上安装专用客户端程序。只要有一个支持 HTML、CSS 和 JavaScript 的现代浏览器,就能运行应用。这种'零安装、即开即用'的特性,让它迅速成为了主流。
二、B/S 架构的典型组成结构
一个标准的 B/S 架构通常采用三层逻辑模型(Three-Tier Architecture),整体结构大致如下:
+------------------+ +---------------------+ +------------------+
| 表示层 | | 业务逻辑层 | | 数据访问层 |
| (Presentation) | | (Application Logic) | | (Data Storage) |
+--------+---------+ +----------+----------+ +--------+---------+
| | |
浏览器 HTTP 应用服务器
| | |
(HTML/CSS/JS) SQL 数据库服务器
1. 表示层(Presentation Layer)—— 浏览器
这是用户交互的入口,负责展示界面、接收输入并发起请求。
- 技术栈:基础是 HTML、CSS、JavaScript;框架常用 React、Vue、Angular 等;工具链包括 Webpack、Vite、TypeScript。
- 关键特性:
- 无状态性:每次 HTTP 请求独立,会话状态由 Cookie、Session 或 Token(如 JWT)管理。
- 跨平台兼容:可在 Windows、macOS、Linux、iOS、Android 等系统上运行。
- 安全沙箱:受限于浏览器同源策略,无法直接访问本地文件系统或硬件资源。
2. 业务逻辑层(Application Layer)—— 应用服务器
这一层执行核心业务规则,处理用户请求,协调数据访问。
- 常见技术栈:Java(Spring Boot)、Python(Django/FastAPI)、Node.js(Express/NestJS)、.NET(ASP.NET Core)、Go(Gin/Echo)。
- 核心职责:路由分发、用户认证授权、事务控制、调用数据库或第三方服务、提供标准化 API(RESTful、GraphQL)。
注:在前后端分离架构中,此层不负责页面渲染,仅返回结构化数据(如 JSON)。
3. 数据访问层(Data Layer)—— 数据库服务器
负责持久化存储结构化或非结构化数据。
- 主流类型:关系型数据库(MySQL、PostgreSQL)适用于强一致性场景;非关系型数据库(MongoDB、Redis)适用于高并发、灵活 schema 场景。
- 关键能力:ACID 事务支持、高可用与自动故障转移、分库分表、读写分离及缓存集成。

