Cho*_*ang 27 caching node.js express
在ExpressJS for NodeJS中,我们可以执行以下操作:
app.use(express.static(__dirname + '/public'));
Run Code Online (Sandbox Code Playgroud)
提供所有静态CSS,JS和图像文件.我的问题是这些:
1)当我们这样做时,Express会自动将文件缓存在服务器的内存中,还是每次提供一个资源时都从硬盘读取?
2)当我们这样做时,Express是否默认使用ETag将资源保存在客户端的硬盘上,或仅保存在客户端的内存中?
Ale*_*kov 45
如果浏览器看到带有页面的ETag,它将缓存它.下次浏览器加载页面时,它会检查ETag编号的更改.如果文件完全相同,那么它的ETag也是如此 - 服务器以HTTP 304("未修改")状态代码响应,而不是再次发送所有字节并节省一堆带宽.Etag默认处于启用状态,但您可以将其关闭:
app.use(express.static(myStaticPath, {
etag: false
}))
Run Code Online (Sandbox Code Playgroud)
Max-age将max-age设置为一段时间,因此浏览器只会在一天后请求该资源.
app.use(express.static(myStaticPath, {
maxAge: '5000' // uses milliseconds per docs
}))
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请阅读本文
归档时间: |
|
查看次数: |
17972 次 |
最近记录: |