1.什麼是冪等性
冪等性概念:冪等通俗來說是指不管進行多少次重複操作,都是實現相同的結果。
2.rest請求中哪些是冪等操作
get,put,delete都是冪等操作,而post不是,以下進行分析:
首先get請求很好理解,對資源做查詢多次,此實現的結果都是一樣的。
put請求的冪等性可以這樣理解,將a修改為b,它第一次請求值變為了b,再進行多次此操作,最終的結果還是b,與一次執行的結果是一樣的,所以put是冪等操作。
同理可以理解delete操作,第一次將資源刪除後,後面多次進行此刪除請求,最終結果是一樣的,將資源刪除掉了。
post不是冪等操作,因為一次請求新增乙份新資源,二次請求則新增了兩份新資源,多次請求會產生不同的結果,因此post不是冪等操作。
3 根據冪等性區分post與put的使用
了解rest後很長一段時間不能明確區分put和post的區別,在使用時很容易混淆,完全可根據idempotent(冪等性)做區分。
舉乙個簡單的例子,假如有乙個部落格系統提供乙個web api,模式是這樣http://superblogging/blogs/,很簡單,將替換為我們的blog名字,往這個uri傳送乙個http put或者post請求,http的body部分就是博文,這是乙個很簡單的rest api例子。
我們應該用put方法還是post方法?
取決於這個rest服務的行為是否是idempotent的,假如我們傳送兩個http://superblogging/blogs/post/sample請求,伺服器端是什麼樣的行為?如果產生了兩個部落格帖子,那就說明這個服務不是idempotent的,因為多次使用產生了***了嘛;如果後乙個請求把第乙個請求覆蓋掉了,那這個服務就是idempotent的。前一種情況,應該使用post方法,後一種情況,應該使用put方法。
HTTP的POST與PUT的區別(冪等性)
對於單個輸入或者無輸入的運算方法,如果每次都是同樣的結果,則稱其是冪等的 也就是說,如果乙個網路重複執行多次,產生的效果是一樣的,那就是冪等 idempotent 的 get,put,delete都是冪等操作,而post不是,以下進行分析 get對資源做查詢多次,此實現的結果都是一樣的,是冪等操作 ...
post和put的區別
冪等性概念 冪等通俗來說是指不管進行多少次重複操作,都是實現相同的結果。get,put,delete都是冪等操作,而post不是,以下進行分析 首先get請求很好理解,對資源做查詢多次,此實現的結果都是一樣的。put請求的冪等性可以這樣理解,將a修改為b,它第一次請求值變為了b,再進行多次此操作,最...
Get和Post 冪等 淨荷
冪等 idempotent idempotence 是乙個數學或計算機學概念,常見於抽象代數中。冪等有以下幾種定義 1.對於單目運算,如果乙個運算對於在範圍內的所有的乙個數多次進行該運算所得的結果和進行一次該運算所得的結果是一樣的,那麼我們就稱該運算是冪等的。比如絕對值運算就是乙個例子,在實數集中,...