网络与接口
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 接口」。
又称
另见