post和put的區別

2021-09-28 11:07:07 字數 818 閱讀 9074

冪等性概念:冪等通俗來說是指不管進行多少次重複操作,都是實現相同的結果。

get,put,delete都是冪等操作,而post不是,以下進行分析:

首先get請求很好理解,對資源做查詢多次,此實現的結果都是一樣的。 

put請求的冪等性可以這樣理解,將a修改為b,它第一次請求值變為了b,再進行多次此操作,最終的結果還是b,與一次執行的結果是一樣的,所以put是冪等操作。 

同理可以理解delete操作,第一次將資源刪除後,後面多次進行此刪除請求,最終結果是一樣的,將資源刪除掉了。

post不是冪等操作,因為一次請求新增乙份新資源,二次請求則新增了兩份新資源,多次請求會產生不同的結果,因此post不是冪等操作。

了解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中Put和Post的區別

解釋http中put和post。它們有什麼區別,哪個使用時更加安全?put和post都是瀏覽器向網頁伺服器提交資料的方法。put把要提交的資料編碼在url中,比如 中就編碼了鍵值對 key1,value1 和key2,value2。受限於url的長度限制,put方法能傳輸的資料有限 不同瀏覽器對ur...

冪等的概念,put和post的區別

1.什麼是冪等性 冪等性概念 冪等通俗來說是指不管進行多少次重複操作,都是實現相同的結果。2.rest請求中哪些是冪等操作 get,put,delete都是冪等操作,而post不是,以下進行分析 首先get請求很好理解,對資源做查詢多次,此實現的結果都是一樣的。put請求的冪等性可以這樣理解,將a修...

HTTP協議中PUT和POST使用區別

有的觀點認為,應該用post來建立乙個資源,用put來更新乙個資源 有的觀點認為,應該用post來更新乙個資源,用put來建立乙個資源 還有的觀點認為可以用put和post中任何乙個來做建立或者更新乙個資源。這些觀點都只看到了風格,爭論起來也只是爭論哪種風格更好,其實,用put還是post,不是看這...