Webを支える技術 第7章 HTTPメソッド その2
- ブラウザのformからはGETとPOSTしか使えないのでPOSTでPUT/DELETEを代用していた
- _method パラメータで本来のメソッドを指定
- X-HTTP-Method-Override ヘッダで指定
- 条件付きリクエスト
- If-Modified-Since ヘッダで更新時刻をチェックしてリクエストするようサーバに指定する
- べき等性
- 同じリクエストを何度送信しても結果が同じになる(GET/HEAD/PUT/DELETE)
- 安全性
- 操作対象のリソースの状態を変更しない (GET/HEAD)
- DELETE メソッドのべき等性についてはレスポンスは異なるけどリソースが削除されているという結果が同じと解釈
- 操作対象のリソースの状態を変更しない (GET/HEAD)
- メソッドの誤用によりこの原則が破られている場合も
現実はなかなかうまくいかないものですね。