http REST 簡介

技术颜良發表於2024-09-20

REST 簡介

REST 代表表現層狀態轉移(REpresentational State Transfer),由 Roy Fielding 在他的 論文 中提出。REST 是一種軟體架構風格,不是技術框架,REST 有一系列規範,滿足這些規範的 API 均可稱為 RESTful API。REST 規範中有如下幾個核心:

  • 1, REST 中一切實體都被抽象成資源,每個資源有一個唯一的標識 —— URI,所有的行為都應該是在資源上的 CRUD 操作
  • 2, 使用標準的方法來更改資源的狀態,常見的操作有:資源的增刪改查操作
  • 3, 無狀態:這裡的無狀態是指每個 RESTful API 請求都包含了所有足夠完成本次操作的資訊,伺服器端無須保持 Session

無狀態對於服務端的彈性擴容是很重要的。

REST 風格雖然適用於很多傳輸協議,但在實際開發中,REST 由於天生和 HTTP 協議相輔相成,因此 HTTP 協議已經成了實現 RESTful API 事實上的標準。在 HTTP 協議中透過 POST、DELETE、PUT、GET 方法來對應 REST 資源的增、刪、改、查操作,具體的對應關係如下:


HTTP方法行為URI示例說明
GET 獲取資源列表 /users 獲取使用者列表
GET 獲取一個具體的資源 /users/admin 獲取 admin 使用者的詳細資訊
POST 建立一個新的資源 /users 建立一個新使用者
PUT 以整體的方式更新一個資源 /users/1 更新 id 為 1 的使用者
DELETE 刪除伺服器上的一個資源 /users/1 刪除 id 為 1 的使用者

相關文章