休息
REST(表现层状态转化)是一种用于设计分布式系统的架构风格。
REST
**REST(表述性状态转移)**是一种设计分布式系统的架构风格。它提供了一套指导方针,用于结构化组件之间的通信,通常是在网络上。REST强调无状态的、以资源为导向的方法,其中操作在唯一可识别的资源上执行,这些资源以URL表示,使用一组标准的HTTP方法。
也称为:RESTful架构,REST设计原则。
比较
-
REST与客户端-服务器架构:REST建立在客户端-服务器架构之上,但增加了诸如无状态性和统一接口等特定约束。
-
REST与CRUD:虽然REST与CRUD操作(创建、读取、更新、删除)紧密映射,但它还包括可扩展和无状态交互的额外指导方针。
优点
-
统一接口:确保一致的通信标准。
-
无状态设计:通过保持交互独立,简化了服务器端处理。
-
可缓存性:通过HTTP缓存机制提升性能。
缺点
-
缺乏内置状态管理:无状态性意味着REST并不内在地处理会话。
-
数据过多或过少获取:如果API未有效设计,可能会发生。
示例
想象一个基于REST的在线图书馆系统:
-
一本书资源可能通过以下URL表示:http://example.com/books/1
-
要更新资源(例如,更改书名),客户端将发出HTTP PUT请求:
请求:
PUT /books/1 HTTP/1.1
Host: example.com
Content-Type: application/json
{
"title": "已更新标题"
}
响应:
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 1,
"title": "已更新标题",
"author": "原作者"
}
