2017-03-17 12 views
-2

これはコード イメージですが、私は、Javaコードまたはブラウザのいずれかで画像の上にキャッシュしない方法 をキャッシュすべき.htacessファイルなしキャッシング

 <HTML> 
<head></head> 
<BODY> 
<div><img src="banner1.png"/></div> 
</BODY> 
</HTML> 
+0

上記は私のサンプルのhtmlコードです。サーバーに最初にリクエストした後、そのイメージをブラウザにキャッシュします。私のアプリケーションはJavaテクノロジー(Apache Wicket)で書かれています –

+0

あなたのサーバーにキャッシュを実装する必要があります。 Apacheを使用している場合は、Apache modを調べてキャッシュしてください。 Javaサーブレットがあり、JSP(またはサーバーサイドアプリケーション)からコードが生成された場合は、フレームワークの機能を使用してキャッシュヘッダーを実装します。これらのルールはHTTP応答ヘッダーの一部であるため、HTML自体ではキャッシュルールを定義するには不十分です。 –

+0

JavaプログラムでsetHeaders()コードを書きましたが、まだ画像はサーバーからロードされていません。私のJavaコードは\t WebResponse response = getWebRequestCycle()。getWebResponse(); \t \t \t \t \t response.setHeader( "Cache-Control"、 "max-age = 31536000、must-revalidate"); \t \t \t response.setHeader( "pragma"、 "max-age = 31536000"); –

答えて

0

ブラウザかどうかは大きな違いがありますファイルをキャッシュするか、アプリケーションにファイルをキャッシュするかどうかを指定します。

サーバー側でキャッシュするには、まずWebサーバー、アプリケーションコンテナ、またはWebアプリケーションフレームワークがキャッシュを提供しているかどうかを確認する必要があります。そうでない場合は、キャッシングフレームワーク(ehcacheなど)を使用するか、必要なものだけを実装することができます。

通常、ブラウザでのキャッシュは、(静的なファイルなどと仮定して)あなたの側で設定することなく行われます。

+0

大丈夫です!しかし、私のサーバーにリクエストすると、イメージがサーバから毎回ロードされ、サーバーのパフォーマンスが低下しています。この問題を解決するにはどうすればいいですか?(そして私のコードはi java(フレームワークApache Wicket)に書かれています) –

+0

私のコードではsetHeader()は何の違いもありません。 –

+0

ここに私のJavaコードWebResponseのレスポンス= getWebRequestCycle()。getWebResponse(); response.setHeader( "Cache-Control"、 "max-age = 31536000、must-revalidate"); response.setHeader( "pragma"、 "max-age = 31536000"); –