本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
什麼是 REST?
在高階,表示式狀態轉移 (REST) 是一種軟體架構,會針對 API應如何運作施加條件。REST 最初建立的 是作為管理網際網路等複雜網路上通訊的指南。您可以使用 REST型架構來大規模支援高效能和可靠的通訊。您可以輕鬆實作和修改它,為任何API系統帶來可見性和跨平台可攜性。
API 開發人員可以使用APIs數種不同的架構進行設計。APIs 遵循REST架構樣式的 稱為 REST APIs。實作REST架構的 Web 服務稱為 RESTful Web 服務。術語RESTfulAPI通常是指 RESTful Web APIs。不過,您可以使用 術語RESTAPI並RESTfulAPI互換使用。
以下是REST架構樣式的一些原則:
統一介面
統一界面是任何 RESTful Web 服務設計的基礎。它表示伺服器以標準格式傳輸資訊。格式化的資源在 中稱為表示式REST。此格式可能與伺服器應用程式上的資源內部表示法不同。例如,伺服器可以將資料儲存為文字,但以HTML表示格式傳送。
統一介面具有四個架構限制:
-
請求應識別資源。他們使用統一的資源識別符來執行此操作。
-
用戶端在資源表示法中有足夠的資訊,可以視需要修改或刪除資源。伺服器透過傳送進一步描述資源的中繼資料來滿足此條件。
-
客戶會收到如何進一步處理表示的資訊。伺服器透過傳送包含用戶端如何最佳使用中繼資料的自我描述訊息來實現此目標。
-
用戶端會收到完成任務所需的所有其他相關資源的相關資訊。伺服器會透過在 表示法中傳送超連結來達成此目標,以便用戶端動態探索更多資源。
無狀態
在 REST 架構中,無狀態是指伺服器完成每個用戶端請求的通訊方法,與先前所有請求無關。用戶端可以任何順序請求資源,而且每個請求都是無狀態的,或與其他請求隔離的。此RESTAPI設計限制條件表示伺服器每次都能完全了解並滿足請求。
分層系統
在分層系統架構中,用戶端可以連線至用戶端和伺服器之間的其他授權中介,而且用戶端仍會收到伺服器的回應。伺服器也可以將請求傳遞至其他伺服器。您可以設計 RESTful Web 服務,在多個具有多個層級的伺服器上執行,例如安全、應用程式和業務邏輯,共同完成用戶端請求。這些層對用戶端而言是不可見的。
快取能力
RESTful Web 服務支援快取,這是在用戶端或中介機構上儲存一些回應的程序,以改善伺服器回應時間。例如,假設您造訪的網站在每個頁面上都有共同的標頭和頁尾影像。每次您造訪新的網站頁面時,伺服器都必須重新傳送相同的映像。為了避免這種情況,用戶端會在第一次回應後快取或儲存這些映像,然後直接使用快取中的映像。RESTful Web 服務會使用將自己定義為可快取或不可快取的API回應來控制快取。
什麼是 RESTful API?
RESTful API 是兩個電腦系統用來透過網際網路安全地交換資訊的介面。大多數商業應用程式都必須與其他內部和第三方應用程式通訊,才能執行各種任務。例如,若要產生每月薪資單,您的內部帳戶系統必須與客戶的銀行系統共用資料,以自動開立發票並與內部工時表應用程式通訊。RESTful APIs 支援此資訊交換,因為它們遵循安全、可靠和高效的軟體通訊標準。
如何RESTfulAPIs運作?
的基本函數RESTfulAPI與瀏覽網際網路相同。當用戶端需要資源API時,會使用 聯絡伺服器。API 開發人員說明用戶端應如何使用伺服器應用程式API文件中RESTAPI的 。以下是任何RESTAPI呼叫的一般步驟:
-
用戶端會將請求傳送至伺服器。用戶端遵循API文件,以伺服器理解的方式格式化請求。
-
伺服器會驗證用戶端,並確認用戶端有權提出該請求。
-
伺服器會收到請求並在內部處理。
-
伺服器會傳回用戶端的回應。回應包含告知用戶端請求是否成功的資訊。回應也包含用戶端請求的任何資訊。
REST API 請求和回應詳細資訊會因API開發人員設計 的方式而略有不同API。