網路與介面
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 介面」。
又稱
另見