0

簡単な Grizzly/Jersey アプリケーションを作成しました。これは次の場所にあります。

https://github.com/boldt/stackoverflow-14526627

フォームデータを投稿したい:

curl -X POST -F "name=test" -i http://localhost:9999/files

私は次の応答を得ています:

HTTP/1.1 100 Continue

HTTP/1.1 200 OK
Date: Fri, 25 Jan 2013 16:51:18 GMT
Transfer-Encoding: chunked

ご覧のとおり、ヘッダーは 2 重になっており、最初に が100 Continue続き、 が続き200 OKます。を取得しても意味がありません100 Continue

助言がありますか?

4

2 に答える 2

2

これは正常です。CurlはHTTP1.1仕様に準拠しています。POSTを実行しています。これは、サーバーにデータを送信することを意味します。Curlは、「Expect:100-continue」を含むリクエストヘッダーをサーバーに送信しています。

これは、クライアントがPOSTドキュメントを送信する許可を必要としていることをサーバーに通知し、サーバーがHTTP / 1.1 100続行で応答した場合、クライアントはドキュメント(この場合はフォームペア)を送信します。そうでない場合、サーバーはHTTPで何らかの理由でドキュメントを拒否する可能性があります。 /1.1 417期待に失敗しました。これにより、クライアントは、拒否された場合でも、大量のデータを送信する時間を無駄にすることがなくなります。

于 2013-01-25T17:45:58.353 に答える
1

2つのヘッダーに問題はありません。Expectヘッダーについて読んでください。 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
リクエストヘッダーを確認してください。おそらくcurlを使用してHTTPExpectを送信しています。

curl -vv -X POST -F "name=test" -i http://localhost:9999/files
于 2013-01-25T17:13:00.973 に答える