您好,登錄后才能下訂單哦!
一、RestFul簡介
REST(英文:Representational State Transfer,簡稱REST)描述了一個架構樣式的網絡系統,比如 web 應用程序。它首次出現在 2000 年 Roy Fielding 的博士論文中,Roy Fielding是 HTTP 規范的主要編寫者之一。在目前主流的三種Web服務交互方案中,REST相比于SOAP(Simple Object Access protocol,簡單對象訪問協議)以及XML-RPC更加簡單明了,無論是對URL的處理還是對Payload的編碼,REST都傾向于用更加簡單輕量的方法設計和實現。值得注意的是REST并沒有一個明確的標準,而更像是一種設計的風格。
簡單地來說REST它是一種使用URL來定位資源,使用HTTP請求描述操作的Web服務規范。REST主要包括以下幾方面:
(1) REST是一組架構約束條件和原則,而滿足這些約束條件和原則的應用程序就是RESTful。
(2)REST的目標是構建可擴展的Web Service,它是一種更簡單的SOAP(Simple Object Access Protocol)協議以及以WSDL為基礎的WebService的替代。
(3)REST采用的是HTTP協議并通過HTTP中的GET、POST、PUT、DELETE等動詞收發數據。
(4) REST希望通過HTTP來完成對數據的元操作,即傳統的CRUD(Create、Read、Update、Delete)分別對應GET、POST、PUT、DELETE,這樣就統一了數據操作的接口,實現在不同平臺上提供一套相同的服務。
(5) REST是一種面向服務的、分布式的API設計風格。
RESTful API的開發和使用,無非是客戶端向服務器發請求(request),以及服務器對客戶端請求的響應(response)。所以RESTful架構風格具有統一接口的特點,即:使用不同的http方法表達不同的行為:
GET(SELECT):從服務器取出資源(一項或多項)
POST(CREATE):在服務器新建一個資源
PUT(UPDATE):在服務器更新資源(客戶端提供完整資源數據)
PATCH(UPDATE):在服務器更新資源(客戶端提供需要修改的資源數據)
DELETE(DELETE):從服務器刪除資源
二、RESTful架構優點
前后端分離,減少流量
安全問題集中在接口上,由于接受json格式,防止了注入型等安全問題
前端無關化,后端只負責數據處理,前端表現方式可以是任何前端語言(android,ios,html5)
前端和后端人員更加專注于各自開發,只需接口文檔便可完成前后端交互,無需過多相互了解
服務器性能優化:由于前端是靜態頁面,通過nginx便可獲取,服務器主要壓力放在了接口上。
三、原則條件
REST 指的是一組架構約束條件和原則。滿足這些約束條件和原則的應用程序或設計就是 RESTful。
Web 應用程序最重要的 REST 原則是,客戶端和服務器之間的交互在請求之間是無狀態的。從客戶端到服務器的每個請求都必須包含理解請求所必需的信息。如果服務器在請求之間的任何時間點重啟,客戶端不會得到通知。此外,無狀態請求可以由任何可用服務器回答,這十分適合云計算之類的環境。客戶端可以緩存數據以改進性能。
在服務器端,應用程序狀態和功能可以分為各種資源。資源是一個有趣的概念實體,它向客戶端公開。資源的例子有:應用程序對象、數據庫記錄、算法等等。每個資源都使用 URI (Universal Resource Identifier) 得到一個唯一的地址。所有資源都共享統一的接口,以便在客戶端和服務器之間傳輸狀態。使用的是標準的 HTTP 方法,比如 GET、PUT、POST 和 DELETE。Hypermedia 是應用程序狀態的引擎,資源表示通過超鏈接互聯。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。