get 取資源冪等,post修改資源狀態非冪等

2021-09-30 10:22:28 字數 523 閱讀 2997

ttp 1.1 [1] 一共有 8 種方法(methods):options、head、get、post、put、delete、trace、connect。其中我們常用的主要是 get 和 post。

這裡有兩個概念:安全方法(safe methods)以及冪等方法(idempotent methods)。

首先 get 是「安全」的而 post 不是。安全方法僅僅獲取資源而不進行任何其他操作。然而有些服務生成的動態內容會因 get 而變,比如在搜尋引擎多次訪問同乙個搜尋結果條目可能導致它在後續的搜尋中排序提公升。但這裡的所謂安全是對於請求發起者而言,他並不主動期待這樣的變化,而是單純地獲取資源。

而冪等是說,這個方法執行多次和執行一次的效果是一樣的。顯然 get 是冪等的,因為除了獲取資源什麼都不會做;post 則是像伺服器提交資料請求處理,可能導致修改或者建立資源,所以是非冪等的。

所以你要在 get 和 post 之間做選擇的話,乙個簡單的方法是,問問自己:這個操作的目的是使得伺服器上的資源或資料發生變更嗎?是的話,就用 post 吧;否則就應該是 get。

Get和Post 冪等 淨荷

冪等 idempotent idempotence 是乙個數學或計算機學概念,常見於抽象代數中。冪等有以下幾種定義 1.對於單目運算,如果乙個運算對於在範圍內的所有的乙個數多次進行該運算所得的結果和進行一次該運算所得的結果是一樣的,那麼我們就稱該運算是冪等的。比如絕對值運算就是乙個例子,在實數集中,...

原創 分治 快速取冪與模取冪

時間限制 1 sec 記憶體限制 64 mb 提交 468 解決 172 輸入b,p,k的值,求b p mod k的值。其中b,p,k為整型數。b,p均不超過整型範圍,k 2不超過整型。第1行 3個空格分開的整數b,p,k 第1行 1個數表示運算結果。2 10 97首先,這道題肯定不能直接pow求,...

什麼是冪等,什麼情況下需要冪等,如何實現冪等

在微服務架構下,我們在完成乙個訂單流程時經常遇到下面的場景 乙個訂單建立介面,第一次呼叫超時了,然後呼叫方重試了一次 在訂單建立時,我們需要去扣減庫存,這時介面發生了超時,呼叫方重試了一次 當這筆訂單開始支付,在支付請求發出之後,在服務端發生了扣錢操作,介面響應超時了,呼叫方重試了一次 乙個訂單狀態...