【Web API】PUT メソッドと POST メソッドの違い
集合(テーブル)と要素(レコード)に対応する違いがある。
あるURI に対して POST メソッドのリクエストを送ると、それに従属するリソースが作成される。この URI が表すのはメモの集合だとすると、それに従属する子は一個一個のメモと考えられる。
PUT は「べき等性」を持たなければならない。すなわち、同じパラメータを伴う PUT メソッドのリクエストを一度送ろうが、何度送ろうが、リソースの状態は同じでなければならない。
たとえば PUT メソッドを用いて、「現在の状態に値を 1 加算する」といった相対的な指定をすることはできない。送る回数によってリソース状態が異なってしまうためである。
一方 POST はべき等性を持つことは想定されていない。同じパラメータの伴うリクエストを送っても、送るたびに異なるサーバー状態に遷移させることができる。