CookieParser vs req.cookies expressjs

когда я читал о req.cookies на expressjs docs,

при использовании промежуточного программного обеспечения cookieParser() этот объект по умолчанию {}, в противном случае содержит cookies, отправленные пользователем-агентом.

и когда я читаю о промежуточное ПО CookieParser,

анализирует поле заголовка Cookie и заполняет req.cookies с объектом, обозначенным именами cookie.

и req.cookies говорит Если я используйте CookieParser, он будет установлен в {}, но CookieParser говорит, что он будет заполняться req.cookies.

мой вопрос Зачем нам нужен CookieParser, если req.cookies сам дает печенье?

2 ответов


похоже, это проблема с документацией. Я создал bug этой проблемы.

со ссылкой на актуальный ответ

просто плохая грамматика с моей стороны, я хотел сказать, что когда вы используете cookieParser () req.объект cookies заполняется. В противном случае это не существует. Существует много перекрестной документации, потому что большинство людей используют Express, как будто Connect едва существует


без использования cookieParser, cookies поставляются в виде заголовка, закодированного URL ("Cookie").

это означает, что по умолчанию информация cookie должна быть найдена в req.headers.cookie.

как следует из названия, cookieParser анализ содержание Cookie заголовок (используя метко названный cookie-module) и удобно помещает результат (объект, помеченный именами файлов cookie) в req.cookies для вашего удовольствия.

Я бы посоветовал вам посмотреть на the исходный код of cookieParser чтобы лучше понять, почему она вообще существует в первую очередь.