http://www.ruanyifeng.com/blog/2014/05/restful_api.htmlhtml
REST,即Representational State Transfer的縮寫。直接翻譯的意思是"表現層狀態轉化"。
它是一種互聯網應用程序的API設計理念:URL定位資源,用HTTP動詞(GET,POST,DELETE,DETC)描述操做。前端
近年來移動互聯網的發展,前端設備層出不窮(手機、平板、桌面電腦、其餘專用設備......),所以,必須有一種統一的機制,方便不一樣的前端設備與後端進行通訊,因而RESTful誕生了,它能夠經過一套統一的接口爲 Web,iOS和Android提供服務。後端
圖片.png
即統一資源標識符,服務器上每一種資源,好比文檔、圖像、視頻片斷、程序 都由一個通用資源標識符(Uniform Resource Identifier, 簡稱"URI")進行定位。api
經常使用的HTTP動詞有下面五個服務器
服務器上每一種資源,好比一個文件,一張圖片,一部電影,都有對應的url地址,若是咱們的客戶端須要對服務器上的這個資源進行操做,就須要經過http協議執行相應的動做來操做它,好比進行獲取,更新,刪除。restful
簡單來講就是url地址中只包含名詞表示資源,使用http動詞表示動做進行操做資源
舉個例子:左邊是錯誤的設計,而右邊是正確的架構
GET /blog/getArticles --> GET /blog/Articles 獲取全部文章
GET /blog/addArticles --> POST /blog/Articles 添加一篇文章
GET /blog/editArticles --> PUT /blog/Articles 修改一篇文章
GET /rest/api/deleteArticles?id=1 --> DELETE /blog/Articles/1 刪除一篇文章
=========================url
示例:一個狀態數據操做接口spa
傳統模式:翻譯
api/getstate.aspx- 獲取狀態信息
api/updatestate.aspx - 更新狀態信息
api/deletestate.aspx - 刪除該狀態的數據
RESTful模式:
api/state 只須要這一個接口
GET 方式請求 api/state- 獲取該狀態的數據POST 方式請求 api/state- 更新該狀態的數據DELETE 方式請求 api/state- 刪除該狀態的數據