一種軟件架構風格、設計風格,而不是標準,只是提供了一組設計原則和約束條件算法
REST 指的是一組架構
約束條件和原則。知足這些約束條件和原則的應用程序或設計就是 RESTful。
Web 應用程序最重要的 REST 原則是,客戶端和服務器之間的交互在請求之間是無狀態的。從客戶端到服務器的每一個請求都必須包含理解請求所必需的信息。若是服務器在請求之間的任什麼時候間點重啓,客戶端不會獲得通知。此外,無狀態請求能夠由任何可用服務器回答,這十分適合
雲計算之類的環境。客戶端能夠緩存數據以改進性能。
在服務器端,應用程序狀態和功能能夠分爲各類資源。資源是一個有趣的概念實體,它向客戶端公開。資源的例子有:應用程序對象、數據庫記錄、算法等等。每一個資源都使用 URI (Universal Resource Identifier) 獲得一個惟一的地址。全部資源都共享統一的接口,以便在客戶端和服務器之間傳輸狀態。使用的是標準的 HTTP 方法,好比 GET、PUT、
POST 和
DELETE。
Hypermedia 是應用程序狀態的
引擎,資源表示經過
超連接互聯。