REST架构风格介绍

一.REST(表述性状态转移)

1.定义

REST(Representational State Transfer)是由 Roy Fielding 在 2000 年提出的一种软件架构风格,用于设计网络应用的通信模式。它基于 HTTP 协议,强调通过统一的接口(如标准 HTTP 方法)管理资源,实现客户端与服务器的解耦。

2.REST 的六大设计原则(约束)

(1)客户端-服务器分离

客户端处理用户界面和交互,服务器负责数据存储和业务逻辑。

资源导向:

资源:系统中可识别的实体(如用户、订单、文章),通过 URI(统一资源标识符)定位。

示例:

https://api.example.com/users/123 # 单个用户资源

https://api.example.com/posts # 文章集合资源

(2)统一接口(Uniform Interface)

资源通过 URI 标识,操作通过标准 HTTP 方法(GET、POST、PUT、DELETE)执行。

(3)无状态(Stateless)

每个请求包含完整的上下文信息,服务器不存储客户端状态。

优点:可扩展性强、易于缓存和负载均衡。

(4)可缓存(Cacheable)

响应需明确标识是否可缓存,减少重复请求。

(5)分层系统(Layered System)

客户端无需知道直接连接的服务器以外的层级(如代理、网关)。

(6)按需代码(Code-On-Demand,可选)

服务器可返回可执行代码(如 JavaScript)扩展客户端功能。

3.RESTful 定义

RESTful 是指符合 REST 架构风格的设计规范的应用或服务。

一个 API 或服务若遵循 REST 的六大约束,即可称为 RESTful API。

4.REST vs. RESTful

REST:理论架构风格。

RESTful:符合 REST 原则的具体实现(如大多数现代 Web API)。

注意:严格遵循 REST 所有原则的 API 较少,常见的是 "REST 风格" 或 "准 RESTful" 实现。

5.状态码

6.服务器框架

Python:Flask、Django REST Framework。

Java:Spring Boot、JAX-RS。

Node.js:Express、NestJS。

Go:Gin、Echo。

二. RESTful vs. SOAP/RPC

相关推荐
ㄣ知冷煖★8 分钟前
统一网关架构实践:从 Token 鉴权到路由、策略与凭证池转发全链路解析
java·服务器·架构
珠海西格电力9 分钟前
零碳园区的碳排放指标计算的实操步骤
大数据·运维·人工智能·物联网·能源
GISer_Jing14 分钟前
Three.JS渲染架构解读
java·javascript·架构
2401_868534781 小时前
论大数据架构的应用
架构
还是鼠鼠1 小时前
AI掘金头条新闻系统 (Toutiao News)-用户注册-创建用户
后端·python·mysql·fastapi·web
2601_954526751 小时前
异常处理与性能调优:熬夜、加班与医美术后的“内服架构”实战指南
架构
她的男孩2 小时前
后台权限不只是菜单隐藏:Forge Admin 的 RBAC 权限链路拆解
java·后端·架构
thubier(段新建)2 小时前
从需求到上线:需求→业务→架构→功能→实现 全链路落地方法论
人工智能·架构
LONGZETECH3 小时前
汽车底盘检修仿真教学软件技术架构拆解|职教实训数字化落地方案
架构·汽车·汽车仿真教学软件
kunge20134 小时前
Claude Code 工作流中的命令实现与自定义指南
人工智能·后端·架构