阅读完本节后,你将会收获:
- 理解 API 的概念和作用
- 掌握 HTTP 协议的基本原理
- 学会理解 HTTP 请求和响应的结构
- 掌握常见 HTTP 状态码的含义
- 了解前后端交互的基本流程
HTTP 协议是前后端交互的"语言",理解它的工作原理能让你更快定位问题。
API(Application Programming Interface,应用程序接口) 是不同软件之间通信的约定。
在 Web 开发中,API 通常指 Web API 或 HTTP API,即通过 HTTP 协议进行通信的接口。前端通过调用后端的 API 来获取数据或提交操作。
还记得上一节讲的函数吗?API 本质上就是远程的函数。
调用 API 就像调用函数:
calculatePrice(100, 2) → 返回 200GET /api/price?unit=100&quantity=2 → 返回 { "total": 200 }两者的区别只在于:函数运行在本地,API 运行在远程服务器上。
把 API 想象成餐厅的菜单:
一个完整的 HTTP 请求包含四个核心部分:
告诉服务器你想做什么类型的事情:
| 方法 | 作用 | 示例 |
|---|---|---|
| GET | 读取数据 | 获取文章列表 |
| POST | 创建数据 | 提交注册表单 |
| PUT/PATCH | 修改数据 | 更新个人资料 |
| DELETE | 删除数据 | 删除一篇文章 |
指定要操作的资源地址:
https://api.example.com/users/123
│ │ │ │
│ │ │ └── 用户 ID
│ │ └── 资源路径
│ └── 域名
└── 协议
携带元数据,如身份认证、数据格式:
| 常见 Header | 说明 |
|---|---|
| Authorization | 身份认证令牌 |
| Content-Type | 请求体的数据格式 |
| Accept | 期望响应的数据格式 |
实际发送的数据内容,通常使用 JSON 格式:
{
"title": "文章标题",
"content": "文章内容"
}
以下是一个完整的 HTTP 请求和响应示例:
请求:
PATCH /api/users/123 HTTP/1.1
Host: api.example.com
Authorization: Bearer your_token_here
Content-Type: application/json
{
"nickname": "新昵称"
}
响应:
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "123",
"nickname": "新昵称",
"updatedAt": "2025-01-28T10:00:00Z"
}
JSON(JavaScript Object Notation)是 Web API 最常用的数据格式。
JSON 的特点:
{} 表示对象[] 表示数组示例:
{
"users": [
{
"id": "1",
"name": "张三",
"email": "zhang@example.com"
},
{
"id": "2",
"name": "李四",
"email": "li@example.com"
}
],
"total": 2,
"page": 1
}
JSON 是不同编程语言之间的"普通话"。Python、JavaScript、Java、Go 等语言都能轻松解析和生成 JSON,这使得它成为 Web API 的标准数据格式。
不需要。记住最常见的几个(200、401、404、500)就够用了,其他的可以查。
GET 用于读取数据,参数通常放在 URL 中;POST 用于创建数据,参数放在 Body 中。GET 可以被缓存,POST 不行。
可以用以下工具:

HTTPS 是加密的 HTTP,数据在传输过程中被加密,更安全。现代网站都应该使用 HTTPS。