16

HTTP PUTリクエストでフォームデータを送信することは有効ですか?あなたが私にスペックを指摘することができれば、それは素晴らしいことです。

HTTP1.1仕様を確認しました。しかし、PUTリクエストにフォームデータを含めることができるかどうかはわかりませんでした。

私はRESTfulWebサービスの作成とアクセスにJavaを使用しています。POSTはapplication/x-www-form-urlencodedContent-Typeとしてサポートします。

仕様から、POSTは新しいリソース(リクエストURIで識別されるリソースのサブリソース)を作成するためのものであり、PUTはリソースを作成または更新するためのものであることがわかります。

しかし、私の疑問は、PUTメソッドにもフォームデータを含めることができるかどうかです。スペック通り大丈夫か調べてみました。そして、私はこれについてHTTP1.1仕様で何も見つけることができません。

4

3 に答える 3

7

はい、PUT で application/x-www-form-urlencoded を使用できます。HTTP 仕様は、どのメディア タイプでどのメソッドを使用できるかを制限しません。

現在進行中の Httpbis 仕様では、PUT に関する議論が大幅に拡大されています https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-p2-semantics-14#page-18

于 2011-06-10T12:46:33.397 に答える
4

PUT メソッドは、指定された URI の下に含まれるエンティティを格納するために使用され、Content-Typeヘッダー フィールドエンティティ ヘッダー フィールドであるため、PUT 要求でContent-Typeヘッダー フィールドを使用することは正当です。

ここで、残りの問題は、受信サーバーがそのような要求とContent-Type情報を適切に処理できるかどうかです。最悪の場合、Content-Typeヘッダー フィールドを処理できず、501 応答が返されます。

エンティティの受信者は、理解または実装していないContent- * (たとえばContent-Range ) ヘッダーを無視してはならず(MUST NOT )、そのような場合は 501 (実装されていません) 応答を返さなければなりません。

于 2011-06-10T12:47:25.877 に答える
0

wc3 の HTTP 仕様は次のとおりです。

http://www.w3.org/Protocols/rfc2616/rfc2616.html

さらに、ここに Content-Type のページがあります

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17

そして、置きます

http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.6

HTTP PUT に関してサポートが必要な特定の言語がある場合は、質問を具体的に更新してください。

于 2011-06-10T12:19:53.003 に答える