什么是REST API?
生活随笔
收集整理的這篇文章主要介紹了
什么是REST API?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
REST指一組架構約束條件和原則,滿足約束條件和原則的應用程序設計。
架構,軟件體系結構分為三部分:構建,用于描述計算機;連接器,用于描述構建的鏈接部分;配置將構建和連接器組成有機整體。
web基本技術:
URI(統一資源標示符)HTTP(超文本傳輸協議)(post、get、put、delete)
Hypertext。
1、每個資源都應該有唯一的一個標識
2、使用標準的方法更改資源的狀態
3、request和response的自描述
4、資源多重表述
5、無狀態服務 Rest API 開發 學習筆記 概述
REST 從資源的角度來觀察整個網絡,分布在各處的資源由URI確定,而客戶端的應用通過URI來獲取資源的表示方式。獲得這些表徵致使這些應用程序轉變了其狀態。隨著不斷獲取資源的表示方式,客戶端應用不斷地在轉變著其狀態,所謂表述性狀態轉移(Representational State Transfer)。
這一觀點不是憑空臆造的,而是通過觀察當前Web互聯網的運作方式而抽象出來的。Roy Fielding 認為,
“設計良好的網絡應用表現為一系列的網頁,這些網頁可以看作的虛擬的狀態機,用戶選擇這些鏈接導致下一網頁傳輸到用戶端展現給使用的人,而這正代表了狀態的轉變。”
REST是設計風格而不是標準。REST通常基于使用HTTP,URI,和XML以及HTML這些現有的廣泛流行的協議和標準。
資源是由URI來指定。
對資源的操作包括獲取、創建、修改和刪除資源,這些操作正好對應HTTP協議提供的GET、POST、PUT和DELETE方法。
通過操作資源的表現形式來操作資源。
資源的表現形式則是XML或者HTML,取決于讀者是機器還是人,是消費web服務的客戶軟件還是web瀏覽器。當然也可以是任何其他的格式。
REST的要求
客戶端和服務器結構
連接協議具有無狀態性
能夠利用Cache機制增進性能
層次化的系統
隨需代碼 - Javascript (可選)
RESTful Web 服務
RESTful Web 服務(也稱為 RESTful Web API)是一個使用HTTP并遵循REST原則的Web服務。它從以下三個方面資源進行定義:URI,比如:http://example.com/resources/。
§ Web服務接受與返回的互聯網媒體類型,比如:JSON,XML ,YAML 等。
§ Web服務在該資源上所支持的一系列請求方法(比如:POST,GET,PUT或DELETE)。
該表列出了在實現RESTful Web 服務時HTTP請求方法的典型用途。
HTTP 請求方法在RESTful Web 服務中的典型應用
資源
GET
PUT
POST
DELETE
一組資源的URI,比如http://example.com/resources/
列出 URI,以及該資源組中每個資源的詳細信息(后者可選)。
使用給定的一組資源替換當前整組資源。
在本組資源中創建/追加一個新的資源。 該操作往往返回新資源的URL。
刪除 整組資源。
單個資源的URI,比如http://example.com/resources/142
獲取 指定的資源的詳細信息,格式可以自選一個合適的網絡媒體類型(比如:XML、JSON等)
替換/創建 指定的資源。并將其追加到相應的資源組中。
把指定的資源當做一個資源組,并在其下創建/追加一個新的元素,使其隸屬于當前資源。
刪除 指定的元素。
PUT 和 DELETE 方法是冪等方法。GET方法是安全方法 (不會對服務器端有修改,因此也是冪等的)。
不像基于SOAP的Web服務,RESTful Web服務并沒有的“正式”標準。 這是因為REST是一種架構,而SOAP只是一個協議。雖然REST不是一個標準,但在實現RESTful Web服務時可以使用其他各種標準(比如HTTP,URL,XML,PNG等)。
REST的優點
可以利用緩存Cache來提高響應速度
通訊本身的無狀態性可以讓不同的服務器的處理一系列請求中的不同請求,提高服務器的擴展性
瀏覽器即可作為客戶端,簡化軟件需求
相對于其他疊加在HTTP協議之上的機制,REST的軟件依賴性更小
不需要額外的資源發現機制
在軟件技術演進中的長期的兼容性更好
架構,軟件體系結構分為三部分:構建,用于描述計算機;連接器,用于描述構建的鏈接部分;配置將構建和連接器組成有機整體。
web基本技術:
URI(統一資源標示符)HTTP(超文本傳輸協議)(post、get、put、delete)
Hypertext。
1、每個資源都應該有唯一的一個標識
2、使用標準的方法更改資源的狀態
3、request和response的自描述
4、資源多重表述
5、無狀態服務 Rest API 開發 學習筆記 概述
REST 從資源的角度來觀察整個網絡,分布在各處的資源由URI確定,而客戶端的應用通過URI來獲取資源的表示方式。獲得這些表徵致使這些應用程序轉變了其狀態。隨著不斷獲取資源的表示方式,客戶端應用不斷地在轉變著其狀態,所謂表述性狀態轉移(Representational State Transfer)。
這一觀點不是憑空臆造的,而是通過觀察當前Web互聯網的運作方式而抽象出來的。Roy Fielding 認為,
“設計良好的網絡應用表現為一系列的網頁,這些網頁可以看作的虛擬的狀態機,用戶選擇這些鏈接導致下一網頁傳輸到用戶端展現給使用的人,而這正代表了狀態的轉變。”
REST是設計風格而不是標準。REST通常基于使用HTTP,URI,和XML以及HTML這些現有的廣泛流行的協議和標準。
資源是由URI來指定。
對資源的操作包括獲取、創建、修改和刪除資源,這些操作正好對應HTTP協議提供的GET、POST、PUT和DELETE方法。
通過操作資源的表現形式來操作資源。
資源的表現形式則是XML或者HTML,取決于讀者是機器還是人,是消費web服務的客戶軟件還是web瀏覽器。當然也可以是任何其他的格式。
REST的要求
客戶端和服務器結構
連接協議具有無狀態性
能夠利用Cache機制增進性能
層次化的系統
隨需代碼 - Javascript (可選)
RESTful Web 服務
RESTful Web 服務(也稱為 RESTful Web API)是一個使用HTTP并遵循REST原則的Web服務。它從以下三個方面資源進行定義:URI,比如:http://example.com/resources/。
§ Web服務接受與返回的互聯網媒體類型,比如:JSON,XML ,YAML 等。
§ Web服務在該資源上所支持的一系列請求方法(比如:POST,GET,PUT或DELETE)。
該表列出了在實現RESTful Web 服務時HTTP請求方法的典型用途。
HTTP 請求方法在RESTful Web 服務中的典型應用
資源
GET
PUT
POST
DELETE
一組資源的URI,比如http://example.com/resources/
列出 URI,以及該資源組中每個資源的詳細信息(后者可選)。
使用給定的一組資源替換當前整組資源。
在本組資源中創建/追加一個新的資源。 該操作往往返回新資源的URL。
刪除 整組資源。
單個資源的URI,比如http://example.com/resources/142
獲取 指定的資源的詳細信息,格式可以自選一個合適的網絡媒體類型(比如:XML、JSON等)
替換/創建 指定的資源。并將其追加到相應的資源組中。
把指定的資源當做一個資源組,并在其下創建/追加一個新的元素,使其隸屬于當前資源。
刪除 指定的元素。
PUT 和 DELETE 方法是冪等方法。GET方法是安全方法 (不會對服務器端有修改,因此也是冪等的)。
不像基于SOAP的Web服務,RESTful Web服務并沒有的“正式”標準。 這是因為REST是一種架構,而SOAP只是一個協議。雖然REST不是一個標準,但在實現RESTful Web服務時可以使用其他各種標準(比如HTTP,URL,XML,PNG等)。
REST的優點
可以利用緩存Cache來提高響應速度
通訊本身的無狀態性可以讓不同的服務器的處理一系列請求中的不同請求,提高服務器的擴展性
瀏覽器即可作為客戶端,簡化軟件需求
相對于其他疊加在HTTP協議之上的機制,REST的軟件依賴性更小
不需要額外的資源發現機制
在軟件技術演進中的長期的兼容性更好
轉載于:https://www.cnblogs.com/zxtceq/p/5168076.html
總結
以上是生活随笔為你收集整理的什么是REST API?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Exchange 2007的几个注意
- 下一篇: 流星,刹那间划过天际