DELETE
HTTPメソッド
HTTPメソッドDELETEの仕様
DELETEメソッドは、オリジンサーバーにターゲットリソースとその現在の機能との関連付けを削除するよう要求します。事実上、このメソッドはUNIXのrmコマンドに似ています。
ターゲットリソースが1つ以上の現在の表現を持っている場合、それらはオリジンサーバーによって破棄されるかもしれませんし、破棄されないかもしれません。また、リソースの性質やオリジンサーバーによる実装(これはこの仕様の範囲外です)によって、関連するストレージが再利用されるかもしれませんし、再利用されないかもしれません。同様に、リソースの他の実装は、データベースやゲートウェイ接続のように、DELETEの結果として非活性化またはアーカイブされる必要があるかもしれません。
DELETEメソッドを許可するリソースは比較的少なく、その主な用途はリモートオーサリング環境で、ユーザーがその効果について何らかの指示を出せるようなものです。例えば、以前にPUTリクエストを使って作成されたリソースや、POSTリクエストに対する201(Created)レスポンスの後にLocationヘッダーフィールドを通して特定されたリソースは、対応するDELETEリクエストでそれらのアクションを取り消すことができるかもしれません。同様に、リモート操作のためにHTTPを使用するリビジョンコントロールクライアントのような、オーサリング機能を実装するカスタムユーザーエージェント実装は、サーバーのURI空間がバージョンリポジトリに対応するように作られているという仮定に基づいてDELETEを使用するかもしれません。
DELETEメソッドが正常に適用された場合、オリジンサーバーは、アクションが成功しそうだがまだ実行されていない場合は202(Accepted)ステータスコードを、アクションが実行されそれ以上の情報が提供されない場合は204(No Content)ステータスコードを、アクションが実行され応答メッセージがステータスを記述する表現を含む場合は200(OK)ステータスコードを送信すべきです(SHOULD)。
DELETEリクエストメッセージ内のペイロードは、定義されたセマンティクスを持ちません。
DELETEリクエストでペイロードボディを送ると、 既存の実装によってはリクエストを拒否するかもしれません。
DELETEメソッドへのレスポンスはキャッシュできません。
DELETEメソッドに対する応答はキャッシュ可能ではない。DELETEリクエス トが、有効なリクエストURIに対して一つ以上の保存された応答を持つキャッ シュを通過する場合、それらの保存された応答は無効になる(参考文献[RFC7234]のセ クション4.4参照)。
DELETEメソッドの説明
HTTPメソッドDELETEの例
DELETE /data/item/123 HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive
Content-Type: application/json
Date: Mon, 31 July 2023 14:58:12 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-store