REST指的是一組架構約束條件和原則,是一種新的架構設計思路,滿足這些約束條件和原則的設計就是RESTfull。
簡單地說:URL定位資源,用HTTP動詞描述行為。
產生背景
近年來移動互聯網的發展,前端設備層出不窮,手機,平板,桌面電腦,其他專用設備...,因此,必須有一種統一的機制,方便不同的前端設備與后端進行通信。於是RESTfull誕生了,它可以通過一套統一的接口為Web,IOS和Android提供服務。
冪等性
冪等性:指一次和多次請求某一個資源應該具有同樣的副作用,也就是一次訪問與多次訪問,對這個資源帶來的變化是相同的。
常見HTTP動詞
1、GET :獲得資源。(冪等)
2、POST :創建資源。(不冪等)
3、PUT :更新資源(客戶端提供更新的全部資源)。(冪等)
4、PATCH :更新資源(客戶端提供更新的部分資源)。(不冪等)
5、DELETE :刪除資源。(冪等)
為什么PUT是冪等的而PATCH是非冪等的,因為PUT是根據客戶端提供了完整的資源數據,客戶端提交什么就替換為什么,而PATCH有可能是根據客戶端提供的參數,動態的計算出某個值,例如每次請求后資源的某個參數減1,所以多次調用,資源的會有不同的變化。