私はHTMLをキャッシュしたくない動的アプリケーション(つまり、カートの内容をページの更新から次のページに変更できる)に取り組んでいます。そのために、キャッシングを避けるためにキャッシュコントロールヘッダーを設定するミドルウェアを呼び出しています。しかしながら、前記キャッシュ制御ヘッダは、静的リソースをフェッチするときにも適用される。明らかなパフォーマンス上の理由から、これは望ましくない動作です。静的リソースをキャッシュする必要があります。私の質問はこれは...静的リソース対レンダリングされたhtmlのdiff応答ヘッダーを設定する方法はありますか?私は、setHeadersオプションをexpress.staticミドルウェアに渡そうとしましたが、同じ応答ヘッダーを2回設定しようとしているため、スレッドがハングします。どんな助けでも大歓迎です!Express JS - 静的リソースをキャッシュするが、レンダリングしないHTML
編集:環境情報を追加 - 私はエクスプレス4によ
とノード4.4
編集:サンプルコードを追加します。これはapp.jsの関連ビットで、ブラウザでのHTMLのキャッシュを積極的に回避します。
app.use(express.static(config.static.public));
// ...Stuff
app.use(function (req, res, next) {
// Don't cache html
res.set('Cache-Control', 'no-cache, private, no-store, must-revalidate, '
+ 'max-stale=0, post-check=0, pre-check=0');
res.set('Expires', 'Fri, 31 Dec 1998 12:00:00 GMT');
next();
});
コードを追加して問題を再現してください –