[解決済み] HTTP DELETE リクエストにエンティティボディは許されますか?
2022-03-20 22:08:11
質問内容
HTTP DELETEリクエストを発行する場合、リクエストURIは削除するリソースを完全に特定する必要があります。しかし、リクエストのエンティティボディの一部として、余分なメタデータを追加することは可能でしょうか?
どのように解決するのですか?
仕様書 は明示的に禁止も抑制もしていないので、許可されると言う傾向があります。
マイクロソフトも同じように考えていて(会場からざわめきが聞こえてきます)、MSDNの記事で ADO.NETデータサービスフレームワークのDELETEメソッド :
DELETEリクエストがエンティティボディを含む場合、ボディは無視されます[...]。
さらに、以下の通りです。 RFC2616 (HTTP 1.1)は、リクエストに関して次のように言っています。
- an エンティティボディ が存在するときだけです。 メッセージボディ が存在する場合 (7.2節)
-
があること。
メッセージボディ
が含まれることで合図されます。
Content-Length
またはTransfer-Encoding
ヘッダー (4.3節) - a メッセージ本文 を送ることができないリクエストメソッドの場合、そのメソッドを含めてはいけません。 エンティティボディ (4.3節)
- an エンティティボディ は TRACE リクエストでのみ明示的に禁止されており、他のすべてのリクエストタイプは無制限です (セクション 9、特に 9.8)
レスポンスについては、定義されています。
- があるかどうか メッセージボディ が含まれるかどうかは、リクエストメソッド と レスポンスステータス (4.3節)
- a メッセージ本文 は HEAD リクエストに対する応答では明示的に禁止されています (セクション 9、特に 9.4 参照)。
- a メッセージボディ は、1xx (informational)、204 (no content)、および 304 (not modified) レスポンスでは明示的に禁止されています (セクション 4.3 参照)。
- その他のレスポンスには、長さがゼロであってもメッセージボディが含まれます (セクション 4.3)。
関連
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] HTTP GET(リクエストボディ付き
-
[解決済み] HTTP POSTリクエストでは、どのようにパラメータが送信されるのですか?
-
[解決済み] updateとdeleteのHTTPステータスコード?
-
[解決済み] リソースが既に存在する場合の POST に対する HTTP レスポンスコード
-
[解決済み] 検証失敗または重複が無効な場合のREST HTTPステータスコード
-
[解決済み] HTTPファイルアップロードの仕組みを教えてください。
-
[解決済み] URLクエリパラメータを含むHTTP POST -- 良いアイデアかどうか?
-
[解決済み】HTTPのPOSTとPUTの違いは何ですか?
-
[解決済み】REST APIでのPUTメソッドとPATCHメソッドの使い分け 実生活でのシナリオ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ExpressJSのX-Powered-Byを削除する方法 [重複]。
-
youtubeマッチチャンネル(チャンネル)
-
HTTPプロトコルの古典的な面接の質問と回答
-
[解決済み] X-Forwarded-Forヘッダーが表示されないブラウザの理由
-
[解決済み] HTTPステータスコード0 - Error Domain=NSURLErrorDomain?
-
[解決済み] X-Forwarded-Hostヘッダーの実際の使用方法?
-
[解決済み] HTTP GET(リクエストボディ付き
-
[解決済み] POSTとPUT HTTP REQUESTの違いは何ですか?
-
[解決済み】302と307のリダイレクトの違いは何ですか?
-
[解決済み] RESTを使った複数レコードの削除