在 http.ClientRequest
上并没有 body 属性,在处理 POST 请求的时候通常需要使用 BodyParser 中间件,或者自行监听 'data'、'end' 等事件以解析请求体。
Node.js 为什么会这么设计呢?
在 http.ClientRequest
上并没有 body 属性,在处理 POST 请求的时候通常需要使用 BodyParser 中间件,或者自行监听 'data'、'end' 等事件以解析请求体。
Node.js 为什么会这么设计呢?
10 回答11.1k 阅读
15 回答8.3k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
很正常,因为body可能会非常大,比如说下载或上传一个大文件,如果全部帮你扔到内存里,那就直接内存溢出了。
这个不止是node,java、golang等等其它的语言标准库自带的http模块都是这样通过流实现的,因为底层库是不知道你用http具体要干嘛,需要业务层自己去做定制化。