使用以下 express.js 应用程序:
app.use( cookieParser );
app.use( session( /*options*/) );
app.use( serveStatic( './dir' ) );
app.get( '/foo', onlyLogicThatNeedsSession )
我假设即使在提供静态文件时也会获取 session 数据。
1:这是正确的吗?
如果是这样,那将意味着该应用程序的结构会更好:
app.use( serveStatic( './dir' ) );
app.get( 'foo', cookieParser, session, onlyLogicThatNeedsSession )
2:这会带来性能优势吗? IE。如果 session 存储是 redis,redis 服务器在提供静态文件时不会受到攻击?
最佳答案
是的,中间件是按顺序执行的,所以理想情况下,您可以将静态中间件放在最顶层,这样您就可以绕过任何不必要的额外请求处理。
关于node.js - Express.js是静态文件中间件使用的session和cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24920839/