2

JBoss 4.2.3.GAには、transfer-encoding:chunkedで生成されているJSP応答があります。これにより、Netscalerロードバランサーは、JSPによって生成されたHTMLが可変コンテンツであると見なされるため、キャッシュされないようになっています。

しかし、max-ageが設定されている場合、転送エンコーディングに関係なく、リクエストはキャッシュされるべきではありませんか?

JSPを固定長で返すようにすることにしました(transfer-encodingがfixedに設定されるようにcontent-lengthを設定します)。。私は次のテストを行いました:

大量のコンテンツを含むtest.jspファイルを使用してJboss4.2.3.GAWebアプリケーションを作成しました。サーバーから転送されたこのJSPファイルをtransfer-encoding:chunkedでデプロイしたときに確認しました。コンテンツの全体のサイズは71.00Kbでした。

test.jspにアクセスして、さまざまな設定を試しました。

response.setContentLength(90000);
response.setBufferSize(90000); 

test.jspがまだtransfer-encoding:chunkedであることを確認しました。

また、jboss-4.2.3.GA \ server \ default \ deploy \ jboss-web.deployer\server.xmlを編集して設定してみました。

<Connector ... bufferSize="90000" socketBuffer="90000" />

検証済みのtest.jspはまだtransfer-encoding:chunkedです。

私はここで何が間違っているのですか?このコンテンツをキャッシュするにはどうすればよいですか?

4

1 に答える 1

2

問題は、私が持っていなかったということでした

response.setContentLength(90000); response.setBufferSize(90000);

ページ上部にあります。私がそれを動かすと、これはうまくいきました。

于 2012-04-23T21:29:56.437 に答える