在Express中提供静态文件 – 是否caching?

在ExpressJS 文档中没有关于如何加载文件的内容。

我的问题是:当我请求一个静态文件,文件是从每个请求的磁盘加载? 或者它以某种方式被caching? 如果是这样,怎么样?

Express 不会自动caching静态内容。 为此,我们需要使用https://www.npmjs.com/package/cache-control中间件。 更多信息在这里( http://blog.modulus.io/nodejs-and-express-static-content )哪些帮助

当我请求一个静态文件,是每个请求的文件加载forms的磁盘?

最有可能的是,它不会。 所有现代操作系统都将内存中的文件数据(或者磁盘块)caching起来,以便后续对该数据的访问将从内存中读取,而不必再次从磁盘读取。

这显然取决于系统有多less空闲内存,如果其他任务需要内存,磁盘数据将逐渐从caching中清除(通常最less使用的数据)。

从节点,因此expression,你没有太多的控制这个机制,所以从这个angular度来看, 好像是从磁盘读取每个请求的文件。

客户端caching(ETags等),但不是服务器端。

我实现了一个简单的服务器端快速caching系统。 你可以在这里看到它的工作版本: https : //github.com/drewdotpro/https-express-static-server-cache-and-gzip