REST Web服務基礎
代表性狀態傳輸(REST)是建立分散式Web應用程式的風格。當套用到Web服務API的設計時、它會建立一套技術和最佳實務做法、以揭露伺服器型資源並管理其狀態。它使用主流傳輸協定和標準、為部署和管理ONTAP Select 等叢集提供靈活的基礎。
架構與傳統限制
REST 是 Roy Fielding 於 2000 年在 UC Irvine 博士中正式發表 "論文"的。它透過一組限制來定義架構風格、這些限制共同改善了網路型應用程式和基礎傳輸協定。這些限制會使用無狀態通訊協定、根據用戶端/伺服器架構來建立RESTful Web服務應用程式。
資源和狀態表示
資源是網路型系統的基本元件。建立REST Web服務應用程式時、早期的設計工作包括:
-
識別每個系統使用和維護資源的系統或伺服器型資源。資源可以是檔案、商業交易、程序或管理實體。根據REST Web服務設計應用程式的首要任務之一、就是識別資源。
-
資源狀態和相關狀態營運資源的定義永遠是有限數量的狀態之一。必須清楚定義狀態、以及用來影響狀態變更的相關作業。
用戶端與伺服器之間會交換訊息、以根據一般CRUD(建立、讀取、更新及刪除)模式來存取及變更資源狀態。
URI 端點
每個REST資源都必須使用明確定義的定址方案來定義和提供。資源所在及識別的端點使用統一資源識別元(URI)。URI提供一般架構、可為網路中的每個資源建立唯一名稱。統一資源定位器(URL)是一種與Web服務搭配使用的URI、用於識別及存取資源。資源通常會以階層式結構公開、類似檔案目錄。
HTTP 訊息
超文字傳輸傳輸協定(HTTP)是Web服務用戶端和伺服器用來交換有關資源的要求和回應訊息的傳輸協定。在設計Web服務應用程式時、HTTP動詞(例如GET和POST)會對應至資源及對應的狀態管理動作。
HTTP為無狀態。因此、若要將一組相關的要求和回應與一筆交易建立關聯、則必須在隨要求/回應資料流一起提供的HTTP標頭中加入額外資訊。
JSON格式化
雖然資訊可透過多種方式在用戶端和伺服器之間進行結構化和傳輸、但最受歡迎的選項(以及與部署REST API搭配使用的選項)是JavaScript物件標記法(Json)。Json是以純文字表示簡單資料結構的產業標準、用於傳輸描述資源的狀態資訊。