12

サーバーがコード ベースに更新をプッシュした後、Web ページのクライアントに強制的にキャッシュ (画像、JavaScript など) を再読み込みさせる方法はありますか? 特定の機能が機能しなくなった理由を問い合わせるヘルプ デスクの電話が多数あります。新しく更新された JavaScript ファイルをダウンロードすると、単純なハード リフレッシュによって問題が修正されます。

詳細については、Glassfish 3.x を使用しています。および JSF 2.1.x。もちろん、これは JSF 以外にも当てはまります。

私が期待している動作を説明するには:

Web サイト A には、2 つの画像と 2 つの JavaScript ファイルがあります。ユーザーがサイトにアクセスすると、4 つのファイルがキャッシュされます。私に関する限り、ユーザーが特に「ハード」リフレッシュを強制するか、キャッシュをクリアしない限り、上記のファイルを「再ダウンロード」する必要はありません。サイトがファイルの1つに更新をプッシュすると、サーバーはヘッダーに何らかのメタデータを持ち、クライアントにその更新を通知することができます. クライアントが選択した場合、新しいファイルがダウンロードされます。

私がやりたくないのは、メタタグをページのヘッダーに配置して、何も強制的にキャッシュされないようにすることです...更新が発生したことをクライアントに伝え、何かが更新されたら最新のものを取得する必要があるだけです更新されました。これは、クライアント側でのある種のバージョン管理にすぎないと思います。

御時間ありがとうございます!

4

2 に答える 2

1

この状況ではキャッシュなしのパラメーターを使用します... a (構成ファイルから) のような文字列定数値があります

$no_cache = "v11";

ページでは、次のようなアセットを使用します

<img src="a.jpg?nc=$no_cache">

コードを更新するときに $no_cache 値を変更するだけで、魅力的に機能します。

于 2013-04-10T20:51:28.410 に答える