91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是REST API?REST API的工作原理是什么?

發布時間:2020-06-08 17:53:42 來源:億速云 閱讀:634 作者:Leah 欄目:云計算

什么是REST API?REST API的工作原理是什么?這些問題可能是我們日常工作會見到的。通過這些問題,希望你能收獲更多。下面是揭開這些問題的詳細內容。

首先要理解REST是Representational State Transfer 的縮寫,簡單地說它是Web應用程序或者移動應用程序、或者智能手表、或者任何使用數據訪問的接口。

當客戶端提交請求時,在這種情況下得到一個資源,REST API 接收該請求,標識所請求的資源,找出哪些數據需要聚集、什么格式、數據匹配的創建一個表示請求的格式,包括像resource ID、指向可用動作的Hyperlinks 等,回應多媒體格式的響應發送,并將其發送回客戶端。客戶端接收數據并將其解析為有意義的內容,而REST API則等待下一個請求。

簡單而言,客戶端發出請求,REST API 接收請求、收集和解析數據,并將數據和響應標頭返回給客戶端。

為了更好的理解REST,我們先來分解一下REST的6個約束條件:

1.Client-Server架構,這個約束確保了客戶端管理用戶界面,而服務器端管理數據存儲,簡而言之,我們將內容與它的交互完全分離。

  1. 無狀態性,在請求之間,補鞥呢在服務器上存儲客戶端上下文或者信息(即狀態),客戶端負責跟蹤自己的會話狀態,從客戶端發送的所有請求必須是自包含和完整的,如果客戶端的會話狀態是相關的,則必須將其請求一起發送,如果服務器需要存儲該狀態,則必須在特定時間將其傳遞到數據庫或者類似服務。
  2. 可緩存性,緩存是Web體系結構和性能優化的關鍵部分,所有REST響應必須被清楚地標記為可緩存或者不可緩存,以確保緩存在客戶端按預期工作。
  3. 分層系統,系統必須設計成客戶端不能知道它是直接連接到服務器還是連接到鏡像等中介,這樣可以確保可伸縮性,也有助于安全性。
  4. 按需編碼,允許服務器以客戶端JavaScript和已編譯組件的形式向客戶端傳輸可執行的代碼,以擴展和自定義功能,這是REST不太常見的用法。
  5. 統一接口,必須在請求中使用資源標識,在Web上的REST系統中,URI用于發送請求,該URI將指定它要查找的資源,這里的關鍵是服務器上的數據,REST 返回的是該資源的一種表現,它可以具有與服務器資源不同的格式,所以,雖然資源數據可以作為表存儲在我的SQL中,但返回可能是JSON或者XML設置HTML,接下來,一旦客戶端擁有了資源的表示,它還可以修改或者刪除該資源。第三,統一接口必須發布描述信息,這適用于發送和接收REST數據,如果接收JSON,則響應信息的媒體類型將設置為JSON,沒有這些信息,就無法可靠地解析數據。第四,統一接口必須使用超媒體作為應用狀態的引擎,這是一種復雜的說法,一旦客戶端訪問REST資源,它就能夠通過提高的超鏈接發現所有可用的資源和方法。

換句話說,REST服務描述了它自己對每個返回資源的使用,當且僅當基于Web的API滿足這6個約束時,就可以認為它是RESTful API。

現在我們將從一個基本的Get請求開始,一個Application/json格式體的例子如下:

{
"<name>": "<value>"
}

樣例:如果你想使用類似下方的請求頭字段為Azure Resource Manager provider 發送一個Https get的請求方法

GET /subscriptions?api-version=2014-04-01-preview HTTP/1.1
Authorization: Bearer <bearer-token>
Host: management.azure.com

看完上述內容,你們對REST API有進一步的了解嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

栖霞市| 洱源县| 黔南| 全椒县| 泰宁县| 寻乌县| 清远市| 东海县| 鄯善县| 大竹县| 阳高县| 阳新县| 慈溪市| 大渡口区| 应城市| 新建县| 白水县| 洮南市| 饶河县| 宁波市| 太原市| 额尔古纳市| 凯里市| 紫云| 永德县| 利川市| 章丘市| 长宁区| 陈巴尔虎旗| 西青区| 贵定县| 嵊泗县| 志丹县| 巴青县| 铁岭市| 淮北市| 阿坝县| 阜康市| 溆浦县| 遵义市| 永川市|