如果Express视图不在公共目录中,它们如何呈现并发送给用户?

时间:2016-10-02 05:00:14

标签: node.js security express

我一直在观看一些开发视频,这些视频只允许用户访问您公共目录中的内容,因此您不会向全世界透露您的源代码。

所以我明白了,js,css和图片都应该放在公共目录中,因为用户在访问你的网站时会怎样收到网页?

但是当我使用Express创建应用程序时,我们的视图包含用户在访问我们网站的索引时将看到的内容,它们位于视图目录而不是公共目录中。我假设Express渲染视图并创建一个用户可以读取的公共文件?

如果用户在公共目录中不存在HTML文件,他们究竟能够如何接收该文件?另外,如果我在自己的VPS上运行它,我的Express应用程序的目录和文件应具有哪些权限?

1 个答案:

答案 0 :(得分:0)

呈现视图时,它不会创建文件,它会将呈现的输出直接发送回HTTP响应中的客户端。这就是动态内容的工作原理。

另一方面,静态内容(“公共”目录中的内容)按原样传输,因为在这些情况下不需要进行转换。