以前就聽說過這個詞,但是最近看了一些文章,產生了一些疑惑,
GET是冪等性。
例如查一條資料,如果你給定一個id.那麼你查多少次。都是這條資料,但是我疑問,這裡的冪等性指的是,每次都返回一條。這個數量,還是說每次都返回同樣一條資料(資料內容)
DELETE是冪等性
你第一次刪除資料,是刪除掉。這個副作用是刪除了給定id的資料,服務端資料狀態發生了改變。但是你二次再刪除,資料是沒有的,你沒刪除掉。這裡的冪等性如何理解,狀態的改變是相對於誰的改變
看了這篇文章 http://www.oschina.net/translate/put-or-post?p=1#comments
文章中冪等性,翻譯成狀態統一性,目前覺得最好的翻譯
如果按照這個理解,那麼get的冪等性應該理解成資料狀態之間的統一,
例如:一個物件例如有 name,age屬性,這些屬性之間根據業務規定,他們的狀態要統一:
1操作統一: 簡單理解可以是要修改同時兩個屬性被修改,而且同時被一個請求修改
2 業務狀態統一:根據業務上要求,就是例如name是李四的,年齡不能超過20歲,這兩個狀態要一致
delete的冪等性,如果按照這個理解,那麼如果你第一次刪除,那麼資料的狀態在伺服器沒有了。第二次再次刪除,伺服器上的資料還是沒有的,這個資料的狀態相對於伺服器是不存在的,資料是一個物件,那麼物件的每一個屬性之間都是不存在。狀態就是沒有。所以是狀態統一