2017-08-16 7 views
0

私はpdfドキュメントを動的に作成し、ハンドラでそれらを提供したいと思います。私はcontent-typeをapplication/pdfに設定しました。うまくいきます。私はnginxプロキシを介して私のサーバーを実行します。大きなPDFを扱う場合は、コンテンツの長さを設定する必要がありますか?

私の問題は、いくつかのリクエストが同じドキュメントに対して他に多くのリクエストを生成することです。私はヘッダーを見て、チャンクされた転送エンコーディングが必要であることを見ました。

私の解決方法はコンテンツの長さを設定することでしたが、うまくいくようです。

私はそれが十分で、なぜ単純なhtmlページでそれをする必要がなかったのだろうかと思います。

+0

これはおそらくあなたのnginxの設定に関係しています。クライアントはチャンクされているかどうかは気にしないでください。 – JimB

答えて

3

A comment in the source code says

ハンドラは、アップフロントのContent-Lengthを宣言しなかった場合、ハンドラは、チャンクバッファサイズの前に実行が終了すれば、我々は、モードをチャンクに入るかのどちらかが、私たちはのContentを計算します長さとヘッダーの代わりにそれを送信します。

チャンクを避けたい場合は、コンテンツの長さを設定します。応答時間が長い場合にコンテンツの長さを設定すると、転送されるデータ量が減り、HTTPサーバー内のコピーが減少する可能性があります。

レスポンスボディの作成に先立って長さがわかっている場合は、目安として、コンテンツの長さを設定します。

単純なHTMLページは、チャンクバッファーのサイズより小さくなることがあります。もしそうなら、彼らはチャンクされていませんでした。

関連する問題