为什么 flash 消息存储在 nodejs auth 的会话中?

Why is flash messages stored in a session in nodejs auth?

我正在查看使用 'connect-flash' 中间件的快速消息和 flash 消息的身份验证应用程序。

根据连接闪存:

flash是会话的一个特殊区域,用于存储消息。消息被写入闪存并在显示给用户后被清除。 Flash 通常与重定向结合使用,确保消息可用于要呈现的下一页。 Flash 消息存储在会话中。首先,通过启用 cookieParser 和会话中间件照常设置会话。然后,使用connect-flash提供的flash中间件。

为什么在session中保存flash message?这不会增加 cookie 的大小,也不会因为可以使用太多内存而变得糟糕 space 吗?

Why is the flash message stored in the session?

因为 connect-flash 需要一种在请求之间传播 flash 消息的方法,而会话存储是一种有用的方法。

Would that not increase the size of the cookie?

一般不会,不会。会话 cookie 包含一条信息,即会话 ID。使用该 ID,会话 data 从会话 storage 中查找,这通常是某种数据库。因此,无论会话中存储了多少数据,cookie 大小都保持不变。然而,会话存储 增加大小,但这通常不是什么大问题。

上述声明的一个值得注意的例外是,如果您使用类似 cookie-session 的东西,它将整个会话数据存储在 cookie 本身中(因此不需要设置单独的会话存储)。