表达静态中间件 - 每次客户端下载时它是否从磁盘读取文件?

时间:2014-07-28 14:28:13

标签: node.js express

我使用快速static中间件来服务器静态文件。我还使用compress中间件。我的问题是,如果express从磁盘读取文件并在每次返回(下载)到客户端时压缩它?或者它可能将压缩文件缓存在内存中?

1 个答案:

答案 0 :(得分:1)

是的,静态中间件将执行磁盘I / O.

在内部,它没有做太多工作并将所有工作委托给send依赖项,这是一个专门用于优雅处理请求的程序包,这些请求解析了来自某些根目录的磁盘流的响应

它不会在内存中缓存任何内容,它能够返回正确的缓存标头并使用HTTP 304响应进行响应,如果您想在其上构建一些内容来存储响应并从记忆中为他们服务。

尽管要注意您的特定要求,但这对于大多数Node.js文件服务器来说都是非常接近的。还有其他HTTP服务器,如Varnish或Nginx,更适合高级要求。