私は非常に厄介な問題を抱えており、それを機能させるために非常に醜いハックを思いついた。
私はCouchDBデータベースを使用してHtaアプリケーションを開発しています(社内で使用するため)。問題は、データベースクエリの非常に積極的なキャッシュが存在するようであり、解決策を見つけるのが難しいことです。そのため、データベース内の更新されたデータは、アプリ全体が新たに起動されるまで、以前のリクエスト結果をキャッシュに保持しているブラウザーに表示されません。
ああ、CouchDB(またはそれはmochiwebサーバー)は未知のGET変数を許可しないので、ある種のタイムスタンプを追加する通常のソリューションは機能しません。
私はある種の解決策を見つけましたが、それはひどく醜いです。ソリューションは次のとおりです。
- 最新のリビジョン番号のドキュメントのみを開きます(簡単で便利、ビューでは機能しません)
- 200以上のポートをリッスンするフォワードプロキシとしてApacheを使用し、読み取りクエリごとにランダムに1つを選択します。(それは醜いものです)。
Htaは他のポートへのajax呼び出しを受け入れるので(おそらく他のドメインでも、奇妙な動作)、うまく機能します。新しいデータが表示されない可能性は1/200ですが、それでも1/1よりはましです。それと一緒に暮らすことができます。
だから私が求めているのは、これに対するより良い解決策はありますか?mochiwebサーバーにハッキングしてキャッシュヘッダーを変更できますか(無視されないことを願っています)?ランダムな文字列を追加するためにURLで使用できる特別な未知の「使い捨て」キーはありますか?または、Htaに何もキャッシュしないように指示する方法はありますか(アプリ内から、これは数百台のコンピューターで動作するはずです)?