Node.js 的 http.ClientRequest 类为什么没有用于描述请求体的属性?
在 http.ClientRequest
上并没有 body 属性,在处理 POST 请求的时候通常需要使用 BodyParser 中间件,或者自行监听 'data'、'end' 等事件以解析请求体。
Node.js 为什么会这么设计呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
很正常,因为body可能会非常大,比如说下载或上传一个大文件,如果全部帮你扔到内存里,那就直接内存溢出了。
这个不止是node,java、golang等等其它的语言标准库自带的http模块都是这样通过流实现的,因为底层库是不知道你用http具体要干嘛,需要业务层自己去做定制化。
我感觉问题就出在 自行监听 'data'、'end' 等事件以解析请求体。
不去帮你解析大数据
当然这只能说人家团队没给内置一些功能。说不定哪天就给加上了。