EN
返回档案库

案例库 · 研发与科研 · 技术决策 · 2000

菲尔丁的REST约束让Web自身的统一动词成为API标准

REST从Web中提炼出统一接口、无状态、可缓存的风格,后来成为默认的API设计。

W3C

那一手

成千上万的系统想通过互联网暴露自己,但每个系统都构建了定制的RPC协议,导致没有客户端能同时与两个系统通信。障碍不是智力或带宽,而是每个服务特有的接口。

菲尔丁的论文表明,最低限度是统一接口:用URI标识资源,通过表示来操作资源,保持消息自描述,并使用超媒体作为状态引擎,叠加在客户端-服务器、无状态和缓存的现有约束之上。

因为REST复用了HTTP的通用动词,而不是发明新动词,一个能获取页面的客户端也能调用API。这就是为什么REST成为Web API的默认选择,取代了RPC和CORBA风格。

为什么管用

  • 统一接口意味着一个通用客户端和库集可以适用于所有REST API,降低了集成成本。
  • 因为REST是约束而非定义,并且构建在HTTP之上,所以无需部署新协议或栈。
  • 无状态加缓存让中间件能扩展请求,而服务器无需在调用之间知道调用者是谁。
  • 超媒体作为状态引擎,让客户端发现可用操作,而不是硬编码每个端点。
值了多少复用HTTP的动词和资源地址作为接口。聪明

可以搬走什么

从已经无处不在的东西中推导出的标准继承了其影响力;有时最大的设计决策是你拒绝添加的约束。

后来呢

菲尔丁的论文于2000年发表,REST成为公共和内部Web API的主导风格,取代了SOAP风格的RPC。后来它获得了惯例(OpenAPI,以及常低估超媒体的CRUD-over-HTTP解读),也有人认为其最严格的超媒体形式很少被实现,但统一接口的理念赢得了胜利。

资料来源

发现哪里写错了?告诉我们。

同一路聪明