REST API 的關鍵概念有哪些?
今天給大家帶來一份 REST API 關鍵概念的小抄,專治不明白,還可以學技術英語。
圖片
REST,全稱 Representational State Transfer (表現層狀態轉移)。它是一種軟件架構風格,而不是標準,所以只提供了一組設計原則和約束條件。
RESTful API 就是滿足 REST 風格的 API。這里 RESTful是形容詞。
REST 的六項原則是由 Roy Fielding 博士定義的,它們構成了 RESTful API 的基礎。REST 的核心原則定義了設計良好的 RESTful 系統應如何運行:
01 客戶端-服務器架構
客戶端(請求數據)和服務器(提供數據)獨立運行,增強了可擴展性和可移植性。
02 無狀態
客戶端向服務器發出的每個請求都必須包含理解和完成請求所需的全部信息。服務器不會存儲客戶端的任何會話信息。
03 可緩存性
響應應定義為可緩存或不可緩存。如果一個響應是可緩存的,客戶端就可以在將來的同等請求中重復使用響應數據。
04 分層系統
客戶端通常無法分辨自己是直接連接到終端服務器,還是連接到沿途的中介。
05 按需編碼(可選)
服務器可通過傳輸可執行代碼來臨時擴展或定制客戶端的功能。
06 統一接口
統一接口可簡化和分離架構,使每個部分都能獨立發展。
統一接口的四個指導原則是:
- 請求中的資源標識:在請求中識別單個資源,例如在 REST 系統中使用 URI。
- 通過表示操作資源:當客戶端持有資源的表示時,就有足夠的信息來修改或刪除資源。
- 自描述消息:每條信息都包含足夠的信息來描述如何處理該信息。
- 超媒體作為應用程序狀態的引擎(HATEOAS):客戶端完全通過服務器動態提供的超媒體與應用進行交互。
圖中給出了一個標準 REST URL (代表了統一接口) 的各個組成部分。