什麼是 Restful Web 服務

簡介

在我們之前的文章中,我們討論了什麼是 API。 有不同類型的 API 調用,例如簡單對象訪問協議 (SOAP)、遠程過程調用 (RPC) 和具象狀態傳輸 (REST)。 所有這些 API 調用都有相同的目的,即在兩個或多個系統之間安全地傳輸數據。 在本文中,我們將只探索 Restful Web 服務。

什麼是 REST

如前所述,REST 代表 Representational State Transfer。 這是一種在客戶端和服務器之間發送和接收數據的簡單方法。 它不需要任何軟件或標準來傳輸數據。 它有一個預定義的結構來執行 API 調用。 開發人員只需要使用預定義的方式並將他們的數據作為 JSON 有效負載傳遞。

寧靜的網絡服務

Restful Web 服務的屬性

RESTful Web 服務具有以下六個約束/屬性:

  1. 客戶端服務器: 這是 REST API 的一個非常重要的方面。 REST API 遵循客戶端-服務器架構,兩者應該是分開的。 這意味著服務器和客戶端不能是同一台服務器。 如果相同,您將收到 CORS 錯誤。
  2. 無國籍: 在 REST 中,所有調用都被視為新調用,任何先前的調用狀態都不會為新調用帶來任何優勢。 因此,在每次通話期間,都需要維護所有必要的身份驗證和其他信息。
  3. 緩存: REST API 鼓勵瀏覽器和服務器緩存過程以提高其處理速度。
  4. 統一接口: 客戶端和服務器之間的接口保持統一,因此任何一方的任何更改都不會影響 API 功能。 這有助於獨立開發客戶端和服務器系統。
  5. 分層系統: REST 允許在服務器端使用分層結構,即您可以在不同的服務器上擁有數據,在不同的服務器上進行身份驗證,而在不同的服務器上使用 API。 客戶端永遠不會知道它從哪個服務器獲取數據。
  6. 按需代碼: 它是 REST API 的一個可選功能,服務器甚至可以將可執行代碼發送到客戶端,客戶端可以在運行時直接運行。

Restful Web 服務中的方法

使用 Restful Web 服務,我們可以執行以下四個基本操作:

  1. GET:此方法用於從服務器獲取數據列表。
  2. POST:此方法用於在服務器中發布/創建新記錄。
  3. PUT:此方法用於更新服務器的現有記錄。
  4. DELETE:此方法用於在服務器端執行記錄的刪除。

備註: 僅僅調用上述方法並不能保證這些操作在服務器端也實現之前會執行。

Restful Web 服務的優勢

以下是 RESTful API 的主要優點:

  • 它們實施起來更簡單、更靈活
  • 它支持更多種數據格式,例如 JSON、XML、YAML 等。
  • 它更快並提供更好的性能

Restful Web 服務的缺點

儘管 REST 服務傾向於提供多種好處,但它仍然存在缺點:

  • 要實現與狀態相關的查詢,需要 REST 標頭,這是一項笨拙的工作
  • PUT 和 DELETE 操作無法通過防火牆或在某些瀏覽器中使用。

發表評論

本網站使用Akismet來減少垃圾郵件。 了解您的評論如何處理.