CookieParser vs req.cookies expressjs

CookieParser vs req.cookies expressjs

本文关键字:expressjs cookies req vs CookieParser      更新时间:2023-09-26

当我在expressjs文档中读到req.cookies时,

当使用cookieParser()中间件时,此对象默认为{},否则包含用户代理发送的cookie。

当我读到CookieParser中间件时

解析Cookie标头字段,并用Cookie名称键入的对象填充req.cookies。

所以,req.cookies说如果我使用CookieParser,它将被设置为{},但CookieParse说它将填充req.cookies

我的问题是,如果req.cookies本身提供cookie,为什么我们需要CookieParser?

如果不使用cookieParser,cookie将作为URL编码的标头("Cookie")。

这意味着,默认情况下,cookie信息将在req.headers.cookie中找到。

顾名思义,cookieParser解析Cookie标头的内容(使用适当命名的cookie模块),并方便地将结果(由cookie名称键入的对象)放置在req.cookies中,以供您享用。

我鼓励您查看cookieParser的源代码,以便更好地理解它最初存在的原因。

看起来这是一个文档问题。我为这个问题创建了一个bug

引用实际响应

只是我语法不好,我的意思是当你使用cookieParser()填充req.cookies对象。否则不存在。有很多交叉文档正在进行,因为大多数人使用Express,就好像Connect几乎不存在一样