[英]Does express.static() cache files in the memory?
在ExpressJS for NodeJS中,我們可以執行以下操作:
app.use(express.static(__dirname + '/public'));
提供所有靜態CSS,JS和圖像文件。 我的問題是這些:
1)當我們這樣做時,Express會自動將文件緩存在服務器的內存中,還是每次提供一個資源時都從硬盤讀取?
2)當我們這樣做時,Express是否默認使用ETag將資源保存在客戶端的硬盤上,或僅保存在客戶端的內存中?
如果瀏覽器看到帶有頁面的ETag ,它將緩存它。 下次瀏覽器加載頁面時,它會檢查ETag編號的更改。 如果文件完全相同,那么它的ETag也是如此 - 服務器以HTTP 304(“未修改”)狀態代碼響應,而不是再次發送所有字節並節省一堆帶寬。 Etag默認處於啟用狀態,但您可以將其關閉:
app.use(express.static(myStaticPath, {
etag: false
}))
Max-age將max-age設置為一段時間,因此瀏覽器只會在一天后請求該資源。
app.use(express.static(myStaticPath, {
maxAge: '5000' // uses milliseconds per docs
}))
有關詳細信息,請閱讀本文
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.