[2] [[HTTP]] において[DFN[[RUBY[冪等][べきとう]@en[idempotent]]]]とは、 同じ[[要求]]を何度繰り返し実行しても結果が同じであることを言います。 * 冪等なメソッド - [4] [CODE(HTTP)@en[[[GET]]]] - [5] [CODE(HTTP)@en[[[HEAD]]]] - [6] [CODE(HTTP)@en[[[PUT]]]] - [7] [CODE(HTTP)@en[[[DELETE]]]] - [8] [CODE(HTTP)@en[[[TRACE]]]] - [9] [CODE(HTTP)@en[[[CONNECT]]]] * 歴史 [FIG[ [FIGCAPTION[ [1] RFC 2068・2616 (HTTP/1.1) 9.1.2 Idempotent Methods ]FIGCAPTION] > Methods [DEL[may]] [INS[can]] also have the property of "idempotence" in that (aside from error or expiration issues) the side-effects of N > 0 identical requests is the same as for a single request. The methods GET, HEAD, PUT and DELETE share this property. [INS[Also, the methods OPTIONS and TRACE SHOULD NOT have side effects, and so are inherently idempotent.]] [[メソッド]]は[DFN[[RUBY[冪等] [べきとう]]]]という[[特性]]も持つことがあります。 これは、 ([[誤り]]や[[満期]]の問題は別として) 同じ[[要求]]を [CODE(math)@en[[VAR[N]] > 0]] 回行った時の[[副作用]]が1回の[[要求]]に対する[[副作用]]と同じであることを表します。 [[メソッド]] [CODE(HTTP)@en[[[GET]]]], [CODE(HTTP)@en[[[HEAD]]]], [CODE(HTTP)@en[[[PUT]]]], [CODE(HTTP)@en[[[DELETE]]]] はこの特性を持ちます。 [INS[また、 [CODE(HTTP)@en[[[OPTIONS]]]] [[メソッド]]と [CODE(HTTP)@en[[[TRACE]]]] [[メソッド]]は[[副作用]]を持つ'''べきではありません'''から、元々[[冪等]]です。]] [INS[ 和訳者注: '''べき'''なのですから、 [[副作用]]を持って[[冪等]]性が成り立たなくても一応[[適合]]するはずで、 [Q[元々[[冪等]]]]というのは言葉が過ぎてはいませんでしょうか。 ]INS] [INS[ > However, it is possible that a sequence of several requests is non-idempotent, even if all of the methods executed in that sequence are idempotent. (A sequence is idempotent if a single execution of the entire sequence always yields a result that is not changed by a reexecution of all, or part, of that sequence.) For example, a sequence is non-idempotent if its result depends on a value that is later modified in the same sequence. しかし、単独ではすべて[[冪等]]な[[メソッド]]の列が[[冪等]]ではないこともあります。 (ある列が[[冪等]]であるとは、 その列を一度実行して得られる結果がその列の一部又は全部を再実行しても変わらないことをいいます。) 例えば、結果が同じ列の後の方で修正される値に依存している場合、 その列は[[冪等]]ではありません。 > A sequence that never has side effects is idempotent, by definition (provided that no concurrent operations are being executed on the same set of resources). [[副作用]]を決して持たない列は、 (同じ[[資源]]の[[集合]]に対して[[並行]]して[[操作]]が行われないならば) 定義より[[冪等]]です。 ]INS] * RFC の部分の License [[RFCのライセンス]] ]FIG] * 関連 [3] [[安全なメソッド]]と似ていますが、[[冪等]]であるからといって[[安全]]とは限りません。