1. ホーム
  2. http

[解決済み] HTTP PUT リクエストはボディを含む必要がありますか?

2023-01-11 11:49:34

質問

標準の中でこれに関する明確な仕様を見つけるのに苦労しています。私はHTTPクライアントを持っていますが、そのクライアントには Content-Length: 0 ヘッダを含まない HTTP クライアントと、そのようなリクエストによって混乱するサーバーがあります。

どのように解決すればよいのでしょうか。

HTTP リクエストは、Content-Length または Transfer-Encoding ヘッダーがある場合、ボディを持ちます ( RFC 2616 4.3 ). どちらもない場合、リクエストはボディを持たず、サーバはそれをそのように扱うべきです。

とはいえ、PUT リクエストにボディがないのは珍しいことなので、もし私が本当に空のボディを送信したいクライアントを設計していたら、Content-Length: 0 を渡すでしょう。 実際、POST と PUT のメソッド定義の読み方によっては ( rfc 2616 9.5, 9.6 ) の読み方によっては、ボディが必要であることが暗示されていると主張できるかもしれませんが、ボディなしを処理する合理的な方法は、長さゼロのボディを仮定することでしょう。