2014-10-17 20 views
5

我已经阅读了所有我能找到的文档,但是我无法找到这两个中间件所做的简单解释。节点Body Parser和cookie解析器执行什么操作?我应该使用它们吗?

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

类似的cookie。我纠正cookie-parser“解析”或啃下伴随Web用户的cookies吗?

最后,我读了body-parser在Express4中既不安全也不赞成使用。我不应该使用它吗?

回答

6

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

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

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

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

+0

忽略它们(如果您需要这些信息)将依赖于使用内置的节点模块(如'querystring')是否正确? – Startec 2014-10-17 03:28:08

+0

如果你需要这些功能,那么是的,你需要以某种方式解析东西。在内部,这些中间件做了很多解析工作。 – gustavohenke 2014-10-17 03:31:30

+2

'multipart/form-data'不仅适用于任何*文件的“巨大文件”。 – mscdex 2014-10-17 04:33:44

3

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

正文解析器解析请求正文。这些可能包含像json或url编码的表单数据。表格数据将出现在req.body

cookie解析器解析cookie并将cookie信息放在中间件中的req对象上。只要您知道秘密,它也会解密已签名的Cookie。

+0

我明白了,谢谢你。那么,他们仍然可以使用吗? (即不推荐使用?) – Startec 2014-10-17 03:23:18

+0

@Startec是的,如果你正在快速建立一个web应用4,我建议使用它们。 – 2014-10-17 03:27:46

相关问题