← 記事

HTTP FIELD GUIDE

HTTP メソッドと冪等性

HTTP メソッドの意味と、リクエストを安全に再試行できる条件を学びます。

メソッドが示すもの

メソッドは意図する操作を示します。GET はリソースの表現を取得し、HEAD はメタデータだけを取得します。POST は処理するデータを送り、PUT はリソースを置き換え、DELETE は削除を求めます。対象がそのメソッドを許可しなければ 405 が返ります。

安全性と冪等性

安全なメソッドは読み取りを意図します。冪等なメソッドは繰り返してもサーバーへの意図した効果が同じです。GET と HEAD は両方を満たします。PUT と DELETE は定義上冪等ですが、応答は毎回同じとは限りません。POST は通常、冪等ではありません。

再試行時の注意

タイムアウトはサーバーが処理しなかった証拠ではありません。POST を再送すると注文が二重になる可能性があります。書き込みを再試行する場合は API が対応する冪等キーを使うか、先にリソースの状態を確認します。メソッド名だけで実装の正しさは保証されません。

参考資料