节点Body Parser和cookie解析器有什么作用?我应该使用它们吗?

时间:2014-10-17 03:11:58

标签: node.js parsing cookies express body-parser

我已经阅读了所有可以找到的文档,但是我找不到这两个中间件的简单解释。

body中的body-parser是指什么?为什么需要解析身体?

同样适用于cookies。我是否正确cookie-parser"解析"或者将网络用户随附的cookie弄下来?

最后,我已经读过body-parser在Express4中既不安全又不推荐使用。我不应该使用它吗?

3 个答案:

答案 0 :(得分:8)

如您所知,Node.js默认提供非常低级HTTP module。这就是为什么你需要"框架"像Express等 - 它们可以让您轻松处理其他平台(例如Java和PHP)中Web服务器的常用功能。

body-parser将获取您的请求正文,并将其解析为您希望服务器在POST / PUT请求(JSON,URL编码,文本,原始)中收到的任何内容。
身体解析器(我所知道的)唯一的问题是你不能处理多部分体(通常是上传体)。

cookie-parser将解析Cookie标头并处理Cookie分离和编码,甚至可以解密它!

这一切都归结为您不需要来使用这些功能,这就是Node非常棒的原因。 你可以简单地忽略它们,让你的服务器不那么繁忙:)

答案 1 :(得分:3)

在Express 4中,body-parsercookie-parser被移动到单独的模块中。不推荐使用的正文和cookie解析器是Express 3附带的解析器。

正文解析器解析请求正文。那些可能包含json或url编码的表单数据。然后,表单数据将显示在req.body

cookie解析器解析cookie并将cookie信息放在中间件中的req对象上。如果你知道这个秘密,它也会解密签名的cookie。

答案 2 :(得分:0)

Here is a link to the documentation.很好地解释了如何使用它,并且由于express 4x是中间件功能中的内置功能,并且其功能与body-parser相同,因此您可能不需要安装body-parser。