33

などの一部の HTTP メソッドではPOST、ヘッダーと double の後に本文を送信する必要がありますCRLF

などの他のものにGETは本文がなく、それらの場合、ダブルCRLFはリクエストの終わりを示します。

しかし、他のものはどうですか: PUTDELETE、 ... どれが体を必要とするかを知る方法は?

一般的な HTTP クライアントは、不明な HTTP メソッドにどのように反応する必要がありますか? 拒否しますか?デフォルトでボディを要求するか、デフォルトでボディを要求しないか?

関連する仕様へのポインタをいただければ幸いです。


編集:コメントで尋ねられたように、私の質問をもう少し詳しく説明します。

私は、プログラマーが任意の HTTP 要求を任意のサーバーに送信するために使用できる汎用 HTTPクライアントを設計しています。

クライアントは次のように使用できます (疑似コード):

HttpClient.request(method, url [, data]);

データはオプションで、生データ (文字列)、またはキーと値のペアの連想配列にすることができます。

ライブラリは、配列の場合はデータを url エンコードし、リクエストの URL にデータを追加するか、GETリクエストのメッセージ本文でデータを送信しますPOST

したがって、開発者が選択した HTTP メソッドを考慮して、この HttpClient が要求にメ​​ッセージ本文を含める必要があるかどうか、含める必要があるかどうか、または含める必要がないかどうかを判断しようとしています。

4

5 に答える 5

0

メッセージ本文の長さに関する現在の HTTP 仕様ドラフトのセクションを読むことができます: http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p1-messaging-22.html#message.body.length

于 2013-05-02T15:17:47.340 に答える