在使用express.js创建后端应用程序时,我使用了express-session
和cookie-session
。
但是,最近我在npm上发现了这个cookie-parser
包。它很受欢迎。
我的问题是,
什么是cookie-parser
?它与express-session
或cookie-session
有何不同?
Cookie Parser
将传入的cookie从request
解析为JSON值。
而cookie-session
或express-session
是在您的服务器上维护session
。
当您的frontend
发送请求时,如果设置了cookie,它将根据使用情况发送一些cookie,默认情况下,服务器很难解释这些cookie,因此cookie parser
将在这里解析这些cookie,以便于理解。这反过来可以用于创建/维护会话或身份验证(取决于cookie的使用情况(。
首先,我们需要知道用户会话可以通过两种主要方式存储在cookie中:在服务器上或在客户端上。
-
cookie-session
2.0.0-将客户端上的会话数据存储在cookie中。设置并获取cookie。仅当会话数据相对较小且易于编码为基元值(而不是对象(时才使用它。此外,请注意cookie数据对客户端是可见的,因此,如果有任何理由保持其安全或模糊,那么express-session
可能是更好的选择。 -
express-session
1.17.3-在cookie中只存储客户端上的会话标识符,并将会话数据存储在服务器上,通常存储在数据库中。设置并获取cookie。 -
CCD_ 17<1.5.0-它使用
cookie-parser
中间件来解析cookie头并填充req.cookies
对象。因此,我们必须在session()
之前使用cookie-parser
中间件。
要存储或访问会话数据,只需使用请求属性req.session
。
cookie-parser
1.4.6-分析Cookie
标头并用cookie名称键入的对象填充req.cookies
。只获取cookie
他们都在最新版本中使用cookie模块。