ExpressJS for NodeJSでは、次のことができます。
app.use(express.static(__dirname + '/public'));
すべての静的CSS、JS、および画像ファイルを提供します。私の質問は次のとおりです。
1)その場合、Expressはサーバーのメモリにファイルを自動的にキャッシュしますか、それともリソースの1つが提供されるたびにハードディスクから読み取りますか?
2)これを行うと、ExpressはデフォルトでETagを使用して、リソースをクライアントのハードディスクに保存しますか、それともクライアントのメモリのみに保存しますか?
ブラウザがページにETagを見つけると、それをキャッシュします。ブラウザが次にページをロードするときに、ETag番号の変更を確認します。ファイルがまったく同じで、そのETagも同じである場合、サーバーはすべてのバイトを再度送信する代わりにHTTP 304( "not modified")ステータスコードで応答し、帯域幅を節約します。 Etagはデフォルトでオンになっていますが、次のようにオフにできます。
app.use(express.static(myStaticPath, {
etag: false
}))
Max-ageはmax-ageを一定の時間に設定するため、ブラウザーは1日が経過した後にのみそのリソースを要求します。
app.use(express.static(myStaticPath, {
maxage: '2h'
}))
詳細については、これを読むことができます 記事