软件架构与资源分类
一、软件架构概述
软件架构用于描述系统中各个组成部分的 职责划分、交互方式以及部署形式。在 Web 应用领域,最常见的两种架构模式是 C/S 和 B/S。
二、C/S 架构(Client / Server)
1. 架构说明
C/S(客户端 / 服务器)架构 指的是:
- 用户本地需要安装专用客户端程序
- 客户端通过网络与服务器端程序进行通信
- 服务器负责数据处理与业务逻辑
典型示例:
- 迅雷
- 各类桌面客户端软件
2. 优缺点分析
优点:
- 用户体验好
- 界面交互能力强
- 性能和响应速度较高
缺点:
- 客户端需要单独开发
- 安装、升级和维护成本高
- 跨平台能力较弱
三、B/S 架构(Browser / Server)
1. 架构说明
B/S(浏览器 / 服务器)架构 是基于浏览器的应用模式:
- 客户端只需要一个浏览器
- 通过 URL 访问服务器端应用
- 业务逻辑集中在服务器端
这是目前 Web 应用的主流架构模式。
2. 优缺点分析
优点:
- 无需安装专用客户端
- 开发、部署和维护更加简单
- 跨平台能力强(只依赖浏览器)
缺点:
- 当应用规模较大时,用户体验可能受限
- 对服务器性能和网络环境要求较高
- 复杂交互通常依赖前端技术补充实现
四、B/S 架构下的资源分类
在 B/S 架构中,根据 服务器是否参与业务处理,资源通常分为 静态资源 和 动态资源。
1. 静态资源
1.1 概念
静态资源 是使用静态网页技术发布的资源,服务器不会对其进行业务处理。
1.2 特点
- 所有用户访问结果完全一致
- 内容固定,不随用户或时间变化
- 由浏览器直接解析和展示
1.3 常见静态资源类型
- 文本文件(
.txt) - 图片(
.jpg、.png、.gif) - 音视频文件
- HTML
- CSS
- JavaScript
1.4 访问流程
- 浏览器发送请求
- 服务器直接返回静态资源文件
- 浏览器使用内置解析引擎渲染资源
2. 动态资源
2.1 概念
动态资源 是使用动态网页技术发布的资源,需要服务器参与业务逻辑处理。
2.2 特点
- 不同用户或不同请求,返回结果可能不同
- 通常依赖后台程序生成内容
- 与数据库、业务逻辑紧密相关
2.3 常见动态资源技术
- JSP / Servlet
- PHP
- ASP / ASP.NET
2.4 访问流程
- 浏览器发送请求
- 服务器执行动态资源(业务逻辑)
- 将执行结果转换为 HTML 等静态内容
- 将结果返回给浏览器展示
五、小结
- C/S 架构:功能强、体验好,但维护成本高
- B/S 架构:部署简单、跨平台,是 Web 主流架构
- 在 B/S 架构中:
- 静态资源由浏览器直接解析
- 动态资源由服务器处理后返回结果
理解软件架构和资源分类,是学习 Java Web、Web 服务器与后端开发 的基础。