0

私は起動時にJSON結果を取得するWebサービスを呼び出すブラウザ拡張を構築しました。 JSON結果には、拡張機能のポップアップに表示されるデータが含まれています。このデータは、少なくとも1日に1回、準備されたスケジュールされた更新サービスを使用して更新されます。さらに、データは不規則に手動で更新されます。(どのように)Chrome/Firefox/IE/...に特定のウェブサイトをキャッシュしないように指示できますか?

Webサービスから取得されたデータは、行われた変更に自動的に適応しません。特に、拡張機能はWebサービスから古い結果を取得します。 Webサービスはテストされ、常に最新の結果を返します。したがって、これはサーバー側の問題ではありません(少なくとも計算、格納、データの提供に関しては考慮されていません)。

Webサービスが古い結果を返すように見えることがあり、ページの更新後に更新されることがあります。私はこれがいくつかのキャッシュメカニズム(クライアント)またはサーバー側のために起こると信じています。

トピックを研究することは、私は拡張Webサービスからのキャッシュしない結果を指示および/またはサーブキャッシュ結果/許可しないようにサーバーに指示することが可能な任意の有用資源や素材

が得られていませんか?

この問題に関するアドバイスやリソースは非常に高く評価されています。

+0

私の答えはあなたを助けましたか?そうであれば、それを回答として受け入れてください。同じ質問のある人なら誰でも解決策があると分かります。 – user2154065

+0

確かに、私はまだあなたの提案に従って解決策を実装しようとしていません。私が持っているとすぐに、私はあなたが要求するようにします。それまでは、お時間をいただき、ありがとうございました。あなたの提案がうまくいくことを期待してください。非常に有望ですね。 – user7259296

答えて

1

通常は、HTTP GETパスにランダムな拡張子を追加する方法があります。パラメータはサーバーでは使用されません。これにより、ブラウザはキャッシュされたデータを使用することができません。なぜなら、このURLには何もないからです。サーバーは単に追加パラメーターを無視します。

ここでは、例として、サーバーへの呼び出しごとにrandomパラメーター(この例では12345)の値を変更してください。

// Original URLs 
http://www.example.com/myservice 
http://www.example.com/myservice?param=data 

// With an Additional HTTP Parameter 
http://www.example.com/myservice?random=12345 
http://www.example.com/myservice?param=data&random=12345 
+0

は魅力的に機能します!ありがとう! > 15のRep – user7259296

1

サーバーソフトウェアを適切に制御できるのであれば、適切なキャッシングに関連するHTTPヘッダー値を設定するように構成することです。キャッシングを防ぐには、Cache-Controlヘッダー値とExpiresヘッダー値を設定する必要があります。クロスブラウザソリューションについてはthreadにチェックしてください。古いデータではないデータをクライアントに転送しないようにするには、ETagまたはLast-Modifiedのヘッダー値を再度使用してください。 ETagの詳細については、条件付き要求とHTTPキャッシュの一般的なチェックはHTTP caching tutorialHTTP protocol specificationです。

+0

がこれを加えたなら私はあなたにupvoteを与えるでしょう!魅力のように動作します。ありがとう – user7259296

関連する問題