ExpressとNodeを使用してWebを構築しています。クライアントはRESTful APIを使用してJsonレスポンスを取得してオブジェクトのリストを表示します。Express JSのキャッシュからのJsonレスポンスの防止
新しいオブジェクトを作成した後、アプリケーションは更新されたオブジェクトリストの新しいjson応答を要求する必要があります。 Chromeはうまくいきます - 新しいJsonレスポンスがステータスコード200 OKで返されました。しかし、IEとEdgeではうまくいかないことがあります。新しいリクエストを行うのではなく、ブラウザからキャッシュからのjsonレスポンス(ステータスコード304)を取得するだけです。ブラウザのキャッシュデータを手動で消去しても問題ありません。
私はこのソリューションを試みた:using a middleware to set max-age of cache-control res.header to be 0
function headerSet(req, res, next) {
res.header('Cache-Control', 'public, max-age=0');
return next();
}
を、レスポンスヘッダに、私は効果を取っaccordant設定を確認することができ、しかし、IEとエッジはまだ新しい要求を行うことを拒否する - 私はまだ未更新を取得していますjson response with 304.
どうしたのですか?
[304](https://httpstatuses.com/304)は、データが変更されていないことをブラウザに知らせる_server_を意味します。だからあなたのサーバーロジックに何か不具合があります。問題の原因となっている特定のExpressミドルウェアを使用していますか? Expressの[etag'](http://expressjs.com/en/4x/api.html#etag.options.table)の設定を変更することもできます( 'strong'に変更してみてください)。 – robertklep