1

私は JSON リソースを持っています。それを /game/1 と呼びましょう。これは長期間にわたってパブリックにキャッシュされています。いくつかのクライアント側のロジックに基づいて、このリソースを時々更新したいと考えています (たとえば、サーバー側で何かが発生する必要があることがわかっている場合 - 私の場合はゲームの終了)。

更新したら、すべてのダウンストリーム キャッシュを新しいコンテンツで更新して、/game/1 へのすべてのリクエストが更新されたコンテンツを取得するようにします。この場合、ランダム パラメータを使用してクエリ文字列を追加しても機能しません。

requestに次のヘッダーを追加しようとしましたが、IE 以外のブラウザーでは気まぐれに動作するようです。

    headers['Cache-Control'] = 'max-age=0, no-cache';
    headers['Pragma'] = 'no-cache';

これらのヘッダーを使用すると、Chrome はコンテンツを更新することがあるようです。これは、おそらくいくつかの内部ヒューリスティックに基づいています。

私が達成しようとしていることについて、誰かがより良いアイデアを持っていますか?

4

1 に答える 1

0

meta http-equiv="expires" コンテンツをゼロに設定してみてください。

「expires」メタタグをゼロに設定すると、ブラウザはページにアクセスするたびにすべてを強制的にリロードする必要があります。一定のキャッシュ削除を強制すると、明らかにページの読み込みが遅くなります (すべてのブラウザーがそれに従う場合)。ただし、これはダウンストリーム キャッシュには役立たないため、完全な解決策にはほど遠いものです。

于 2013-06-09T11:48:00.583 に答える