2008/04/16

安全(safe)と冪等(idempotent)なメソッド [ http, REST ]

さて、今日は安全と冪等という概念について書こうと思います。

安全、safe、セーフ。
冪等、idempotent、なんて読むんだよコレ。


……まぁ、いいや。

さて、早速各メソッドの意味について。

安全:サーバに影響を与えない。
冪等:何度実行しても同じ値が帰ってくる。


これに関してこちらで分かりやすい例がありました。


算数でかくと、以下のとおり。

操作初期値1回目2回目3回目
x1  4  4  4  4 安全
x0  4  0  0  0 冪等
+1  4  5  6  7 安全でも冪等でもない

安全であれば必ず冪等であるが、冪等であるからといって安全だということではない。


ちなみに、httpにおける各メソッドは安全であるべき、冪等であるべきなどちゃんと
定義されています。
例えば、GETは安全かつ冪等です。(安全な時点で冪等である訳ですけどね。)

0 件のコメント: