CS/BS架构
客户端/服务端架构,是一种典型的两层架构模式
应用场景:即时通讯软件,网络游戏,数据库管理工具。
| 优点 | 缺点 |
| 响应速度快,体验流畅 | 需要安装专用客户端 |
| 功能丰富,可离线使用部分功能 | 跨平台需要单独开发 |
| 安全性较高 | 升级维护成本高 |
浏览器/服务器架构,是当今web应用主流架构。
应用场景:各类网站,web应用,管理系统。
| 优点 | 缺点 |
| 无需安装,随时随地访问 | 依赖网络,离线功能有限 |
| 跨平台,一处开发处处运行 | 浏览器兼容性需要考虑 |
| 升级维护简单(服务器端) | 性能受浏览器限制 |
发展趋势:现代应用趋向于混合架构:核心功能用CS(如微信PC版),轻量功能用BS(如微信小程序)

URL
| 部分 | 说明 | 示例 |
|---|---|---|
| 协议 | 访问资源使用的协议 | http、https、ftp |
| 域名 | 服务器的地址 | www.baidu.com |
| 端口 | 服务监听的端口号 | 80(HTTP默认)、443(HTTPS默认) |
| 路径 | 服务器上的资源位置 | /index.html、/api/users |
| 查询参数 | 传递给服务器的额外数据 | ?page=1&size=10 |
HTTP请求/响应
请求报文结构
▶ 请求行(Request Line)
GET /index.html HTTP/1.1
▶ 请求头(Request Headers)
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html
Cookie: sessionId=xxx
▶ 空行
▶ 请求体(Request Body)【可选】
username=admin&password=123
常见请求头
| 请求头 | 说明 |
|---|---|
Host | 指定服务器域名和端口 |
User-Agent | 客户端信息(浏览器类型、版本) |
Accept | 客户端可接受的响应类型 |
Content-Type | 请求体的媒体类型 |
Cookie | 携带的Cookie数据 |
响应报文结构
▶ 状态行(Status Line)
HTTP/1.1 200 OK
▶ 响应头(Response Headers)
Content-Type: text/html
Content-Length: 1234
Set-Cookie: sessionId=xxx
Cache-Control: no-cache
▶ 空行
▶ 响应体(Response Body)
<html>...HTML内容...</html>
常见状态码
| 状态码 | 名称 | 说明 |
|---|---|---|
| 200 | OK | 请求成功 |
| 201 | Created | 资源创建成功 |
| 301 | Moved Permanently | 永久重定向 |
| 302 | Found | 临时重定向 |
| 304 | Not Modified | 使用缓存 |
| 400 | Bad Request | 请求格式错误 |
| 403 | Forbidden | 禁止访问 |
| 404 | Not Found | 资源不存在 |
| 500 | Internal Server Error | 服务器内部错误 |
| 502 | Bad Gateway | 网关错误 |
| 503 | Service Unavailable | 服务不可用 |
常见响应头
| 响应头 | 说明 |
|---|---|
Content-Type | 响应体的媒体类型 |
Content-Length | 响应体的字节长度 |
Set-Cookie | 服务器设置的Cookie |
Location | 重定向的目标URL |
Cache-Control | 缓存控制策略 |

HTTP连接管理
HTTP/1.0 短连接:每个请求都要新建TCP连接,效率低
HTTP/1.1 长连接:一个TCP连接可以发送多个请求,效率高
HTTP是无状态协议,服务器不会保存客户端的状态信息。每次请求都是独立的,服务器无法识别请求是否来自同一个客户端。
由于HTTP是无状态协议,Cookie和Session技术用于在多次请求之间保持用户状态。
简要介绍
| 特性 | Cookie | Session |
|---|---|---|
| 存储位置 | 客户端浏览器 | 服务器端 |
| 典型用途 | 记住登录状态、用户偏好 | 保存用户会话数据 |
| 安全性 | 较低(可被篡改) | 较高 |
Cookie和Session的详细原理、安全机制以及实际应用将在后续会话技术文章中总结。
总结
核心知识点
- 能区分 CS 架构与 BS 架构,并说出各自特点
- 能拆解一个 URL,并说明各组成部分的作用
- 能读懂 HTTP 请求报文和响应报文的基本结构
- 能识别常见请求方法与状态码的业务含义
- 能理解 HTTP 无状态的特点,以及 Cookie / Session 为什么会出现
本章核心概念:HTTP 是 Web 世界中最基础的应用层协议,浏览器与服务器之间的大多数交互,都是基于“请求—响应”模型完成的。
| 知识点 | 核心内容 |
|---|---|
| CS架构 | 客户端/服务器,需安装专用软件 |
| BS架构 | 浏览器/服务器,无需安装 |
| HTTP协议 | 应用层协议,基于请求-响应模式 |
| URL组成 | 协议+域名+端口+路径+参数+锚点 |
| 请求方法 | GET获取,POST提交,PUT更新,DELETE删除 |
| 状态码 | 2xx成功,3xx重定向,4xx客户端错误,5xx服务器错误 |
| 连接管理 | HTTP/1.1长连接,无状态协议,Cookie维持会话 |