HTTP方法的冪等性
原文:https://www.colorfuldays.org/program/http_idempotence/
最近在看RESTful及HTTP協議相關的書和文檔,其中都提到一個“冪等”的概念。何為“冪等”? “冪等”是指一個操作重複執行N次得到的結果與執行一次是相等的。在HTTP協議中,要求GET,HEADER,PUT和DELETE方法是冪等的。其中GET,HEADER,DELETE的冪等性很好理解,而PUT方法就有些複雜。PUT方法要求,第一次PUT方法執行之後,其在服務器上生成的資源,不能被後續的PUT方法更改。而POST方法不具備冪等性,因此一個表單重複使用POST提交,在服務器上可能會存在兩份記錄。
具備“冪等性”的方法是安全的,因此在程序中冪等性也是應該追求的一項性質,很多時候程序不應該假定用戶的行為,不能因為用戶的重複操作而導致數據出現問題。
最後更新:2017-04-03 20:43:08