などの一部の HTTP メソッドではPOST
、ヘッダーと double の後に本文を送信する必要がありますCRLF
。
などの他のものにGET
は本文がなく、それらの場合、ダブルCRLF
はリクエストの終わりを示します。
しかし、他のものはどうですか: PUT
、DELETE
、 ... どれが体を必要とするかを知る方法は?
一般的な HTTP クライアントは、不明な HTTP メソッドにどのように反応する必要がありますか? 拒否しますか?デフォルトでボディを要求するか、デフォルトでボディを要求しないか?
関連する仕様へのポインタをいただければ幸いです。
編集:コメントで尋ねられたように、私の質問をもう少し詳しく説明します。
私は、プログラマーが任意の HTTP 要求を任意のサーバーに送信するために使用できる汎用 HTTPクライアントを設計しています。
クライアントは次のように使用できます (疑似コード):
HttpClient.request(method, url [, data]);
データはオプションで、生データ (文字列)、またはキーと値のペアの連想配列にすることができます。
ライブラリは、配列の場合はデータを url エンコードし、リクエストの URL にデータを追加するか、GET
リクエストのメッセージ本文でデータを送信しますPOST
。
したがって、開発者が選択した HTTP メソッドを考慮して、この HttpClient が要求にメッセージ本文を含める必要があるかどうか、含める必要があるかどうか、または含める必要がないかどうかを判断しようとしています。