什么是 REST?

REST(表述性状态转移)是一种用于设计网络应用程序的架构风格,使用 HTTP 请求对由 URL 标识的资源执行 CRUD 操作(创建、读取、更新、删除)。它强调无状态通信和统一接口。

快速了解

全称表述性状态转移
创建时间2000 年由 Roy Fielding 定义
规范文档官方规范

REST 工作原理

REST 由 Roy Fielding 在其 2000 年的博士论文中定义。它提供了一组约束,遵循这些约束可以创建可扩展和可维护的 Web 服务。RESTful API 使用标准 HTTP 方法:GET(读取)、POST(创建)、PUT/PATCH(更新)和 DELETE(删除)。资源以 JSON 或 XML 等格式表示。REST 的无状态特性意味着每个请求都包含处理它所需的所有信息,使其具有高度可扩展性。虽然不是标准,但 REST 已成为 Web API 的主导架构。

主要特点

  • 无状态 - 每个请求都是独立的
  • 使用标准 HTTP 方法(GET、POST、PUT、DELETE)
  • 资源由 URL 标识
  • 支持多种数据格式(JSON、XML)
  • 客户端-服务器架构分离
  • 可缓存响应以提高性能

常见用途

  1. Web 服务 API
  2. 移动应用后端
  3. 微服务通信
  4. 第三方集成
  5. 资源的 CRUD 操作

示例

RESTful API 端点:

方法     端点                  描述
GET      /api/users            列出所有用户
GET      /api/users/123        按 ID 获取用户
POST     /api/users            创建新用户
PUT      /api/users/123        更新整个用户
PATCH    /api/users/123        部分更新
DELETE   /api/users/123        删除用户

HTTP 响应代码:
200 OK              - 成功的 GET/PUT/PATCH
201 Created         - 成功的 POST
204 No Content      - 成功的 DELETE
400 Bad Request     - 无效请求
401 Unauthorized    - 需要认证
404 Not Found       - 资源未找到
500 Server Error    - 内部错误

请求示例:
GET /api/users/123 HTTP/1.1
Host: api.example.com
Authorization: Bearer token123
Accept: application/json

QubitTool 相关工具

相关概念