网络与接口

REST · 表述性状态转移

/ rest /

REST 是一种流行又整洁的 Web 接口(API)设计风格——它是一套习惯做法,而不是某个软件。核心思路简单得讨人喜欢:把你的服务提供的一切都当作一个住在某个 URL 上的「资源(resource)」,再用普通的 HTTP 动词去操作它。URL 说的是「对什么」,动词说的是「做什么」。

于是 /users/42 指代某一个用户,而动词决定动作:用 GET 读取、用 POST 创建、用 PUT 更新、用 DELETE 删除。同一个地址,换个动词,意思就变了。一旦你看出这个套路,一个设计得当的 REST 接口读起来就像在句子里认名词和动词——还没翻文档,你都能猜个八九不离十。

当一个接口遵循这些约定时,人们就称它是 RESTful 的。REST 并不是什么铁律,大家也常为其中的细枝末节争论不休,但它的朴素恰恰是精髓:不用学什么特殊协议,用的就是网络早已会说的那套日常 HTTP。

GET    /users/42      → read user 42
POST   /users         → create a new user
PUT    /users/42      → update user 42
DELETE /users/42      → remove user 42

一个资源,四个动词——四行就讲清了 REST 的全部思想。

「表述性状态转移」这串全称没人会念出口——几乎所有人都只说「一个 REST 接口」。

又称
restfulrest apirestful api