B/S 架构详解:构建现代 Web 应用的基础
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 架构通常采用三层逻辑模型(Three-Tier Architecture),我们可以这样理解它的交互关系:
graph LR
Browser[浏览器] -->|HTTP/HTTPS| Nginx[Nginx/Web 服务器]
Nginx -->|转发请求| App[应用服务器]
App -->|SQL/API| DB[(数据库)]
1. 表示层(Presentation Layer)—— 浏览器
这是用户直接交互的入口,负责展示界面、接收输入、发起请求。
- 技术栈:基础是 HTML、CSS、JavaScript;框架常用 React、Vue、Angular、Svelte;工具链包括 Webpack、Vite、TypeScript。
- 关键特性:
- 无状态性:每次 HTTP 请求独立,会话状态由 Cookie/Session 或 Token(如 JWT)管理。
- 跨平台兼容:可在 Windows、macOS、Linux、iOS、Android 等系统上运行。
- 安全沙箱:受限于浏览器同源策略,无法直接访问本地文件系统或硬件资源。
2. 业务逻辑层(Application Layer)—— 应用服务器
这一层执行核心业务规则,处理用户请求,协调数据访问。
- 常见技术栈:Java(Spring Boot)、Python(Django/FastAPI)、JavaScript/TypeScript(Node.js + NestJS)、.NET(ASP.NET Core)、Go(Gin/Echo)。
- 核心职责:路由分发、用户认证授权、事务控制、调用数据库或第三方服务、提供标准化 API(RESTful、GraphQL)。
注:在前后端分离架构中,此层不负责页面渲染,仅返回结构化数据(如 JSON)。
3. 数据访问层(Data Layer)—— 数据库服务器
角色是持久化存储结构化或非结构化数据。
- 主流类型:
- 关系型数据库(RDBMS):MySQL、PostgreSQL、Oracle —— 适用于强一致性、事务密集型场景。
- 非关系型数据库(NoSQL):MongoDB、Redis、Elasticsearch —— 适用于高并发、灵活 schema 场景。
- 关键能力:ACID 事务支持、高可用与自动故障转移、分库分表、读写分离、缓存集成。
补充组件:Web 服务器(反向代理)
在生产环境中,通常在浏览器与应用服务器之间部署 (如 Nginx、Apache)作为反向代理,承担以下职责:

