私は私たちのウェブサイトでbigpipeのコンセプトを使おうとしています。つまり、ユーザーがそのページが高速であると感じるように、応答を全体として送信するのではなく、チャンクで送信しようとすることを意味します。Javaの応答オブジェクトでflushBufferメソッドを使用することで、これを行うことに成功しました。しかし、apache mod_deflateモジュールを使用してコンテンツを圧縮しようとすると、チャンクが失われます。
これは、コンテンツを圧縮するために使用されるapacheの構成です。
**
mod_deflate構成を開始します
DeflateBufferSize 100
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
DeflateFilterNote Input input_info
DeflateFilterNote Output output_info
DeflateFilterNote Ratio ratio_info
LogFormat '"%r" %{output_info}n/%{input_info}n (%{ratio_info}n%%)' deflate
CustomLog /var/log/httpd/deflate_log deflate
mod_deflateconfigを終了します**
これは、apacheでdeflateがオンになっている場合の応答ヘッダーです。
Connection:Keep-Alive
Content-Encoding:gzip
Content-Length:7916
Content-Type:text / html; charset = UTF-
8日付:2012年1月27日金曜日20:11:11 GMT
キープアライブ:タイムアウト= 300、最大= 3997
サーバー:Apache
Vary:Accept-Encoding
apacheでdeflateがオフになっている場合の応答ヘッダー
Connection:Keep-Alive
Content-Type:text / html; charset = UTF-
8日付:2012年1月27日金曜日20:21:14 GMT
キープアライブ:タイムアウト= 300、最大= 3997
サーバー:Apache / 2.2.3(CentOS)
転送-エンコード:チャンク
上記の2つのヘッダーでわかるように、チャンクは圧縮がオフになっている場合にのみ機能します。私はこれに関してインターネットで検索していました、そして人々はDeflateBufferSize値を減らすことを提案していました。apache configでわかるように、値を100バイトに減らしましたが、それでも問題は解決しませんでした。DeflateBufferSizeを100バイトに設定すると、応答は100バイトが受信されるまでapacheにバッファリングされ、その後圧縮されます。
古いapache1.3にバンドルされているmod_gzipモジュールを見ていましたが、そのモジュールには、チャンクされたコンテンツをgzipで圧縮できる次のディレクティブがあります。
mod_gzip_dechunkはい
誰かがapache2.xにバンドルされているmod_deflateのそのようなディレクティブを知っていますか?
または、チャンクされたコンテンツを圧縮する方法を知っている人はいますか?