HTTPメソッドのべき等性をまとめる

“べき等性”は数学用語ですが、情報処理の分野でもその考え方を用いることが出来ます。

べき等の意味は、何回同じ操作をしても結果が同じこと。

本記事ではべき等の考え方からHTTPのメソッドの性質を理解していきます。

HTTPメソッドの性質

HTTPメソッド べき等 安全
GET Yes Yes
PUT, DELETE Yes No
POST No No

べき等

まずGET、これはリソースを取得するときに用います。何度取得しても取得元のリソースに変化が無ければ結果は同じになります。べき等です。

次にPUT, DELETE、これはリソースを更新するときに用います。それぞれ情報更新と情報削除です。これはべき等ではないと思うかもしれませんがべき等です。なぜならば、更新する情報の状態に依らず決まった情報に更新するからです。削除も同様でこれは物理削除ではなく論理削除なので、削除する情報の状態に依らず情報を削除します。これらは何度実施しても同じ結果になるので、べき等です。

最後にPOST、これはリソースを作成するときに用います。リソースの作成では基本的に同じものは作成しません。作成したリソースを制御するための固有のIDを振ります。そのため、作成をする度に結果は変わります。べき等です。

安全

ここで出てくる安全とは、「操作対象のリソースの状態を変化させないこと」です。リソースの状態を変化させることを副作用と言うらしく、副作用がないものは安全とのことです。