35

リソース データを使用してGET要求に応答する Jetty サーバーでRESTサービスを実行しています。これまでのところ、取得したデータは数 kb 程度です。100 mb 以上の巨大なデータを返す可能性のある同様の REST サービスを使用しようとしています。リクエスト量が少なく、jetty サーバーと残りのクライアント プロセスの両方が十分なメモリで構成されているため、メモリの問題は予想されません。

jetty または一般的な Web サーバーが、GET に応答してクライアントに返すことができるデータの長さに制限を設けているかどうか疑問に思っています。もしそうなら、それは桟橋で設定可能ですか?

4

1 に答える 1

64

元の回答:

Jetty からの HTTP 応答で返されるデータの量に制限はありません。

宇宙の熱による死の直前まで、クライアントにデータをストリーミングすることができます。

技術的に言えば、Content-Length指定されていない HTTP 応答を持つことができます。これは、Chunked Transfer-EncodingConnection: closeを使用して返されるか、データがいつ完了したか (送信が完了したか) を示す生のバイト ストリームのいずれかを使用して返されます。根底にあるつながり。どちらも本質的に無制限です。

ヘッダー付きの HTTP 応答を使用する場合Content-Length、Content-Length は実際には 32 ビットの数値ですが、最新のブラウザーでは 64 ビット バージョンがサポートされていることに注意してください。

更新 (2019 年 8 月):

Jetty 9.4.20.v20190813 はContent-Length、最大サイズLong.MAX_VALUE( 9,223,372,036,854,775,807バイト)のヘッダーを処理できるようになりました

于 2013-04-23T15:10:17.583 に答える