現在、Liferay サーバーで開発しています。
[liferay-portal-6.1.10-ee-ga1 + tomcat-7.0.25]
場合によっては、ユーザーが Document-Library からファイルをダウンロードします。
次のタイプの URL を使用すると、
[$LIFERAY_HOST]/c/document_library/get_file?uuid=[$OBNOXIOUSLY_LONG_UUID]&groupId=[$MY_GROUP_ID]
ファイルのダウンロードが完了するまでに時間がかかります。
実際、ダウンロード自体に必要以上の時間がかかることはありません。しかし、対応は閉じていないようです。
ほとんどのダウンロード クライアント (Firefox、wget、wireshark など) は、応答の終了に気付かないようです。
その結果、正当な理由もなくハングアップします。
最悪なのは、私の Firefox ユーザーが、非常に小さいファイルのダウンロードに時間がかかるという印象を持っていることです (8kb の場合は 20 秒など... そうです、それは受け入れられません)。
スタックを掘り下げて、liferay のソースを調べてみましたが、そのレイテンシがどこから来ているのかわかりません。
私はこのスレッドの方法を調べようとしました(これは本当に有望に見えました) https://www.liferay.com/community/forums/-/message_boards/message/11838689
しかし、これは私の問題には当てはまりませんでした。すべてのフィルター クラスにログ メッセージを吐き出すように強制しましたが、それらはすべて数ミリ秒 (最大で 1 秒) で実行されるようです。
httpservletrequest の出力ストリームのフラッシュとクローズを検査しようとしましたが、それらはすべて正当かつクリーンに実行されています...私は自分自身への希望と信頼を失い始めています...悲しいです、汚いと感じます、コーヒーが必要です...助けてくださいお願いします!
----編集:回答----
実際、私の問題は GZip フィルターに関連していました (最初の試行では見つけられませんでした。私の正確なバージョンでは、rp の答えは実際の解決策ではありませんが、多くの近いバージョンにあります。同じ問題、rp の回答 (下) または this のいずれかを参照してください。
www.liferay.com/community/forums/-/message_boards/message/21186157#_19_message_21215343