在node.js和express中,客户端应该如何向服务器发送大量3k的大量数据?

时间:2013-12-04 19:22:24

标签: javascript json node.js

客户端将向我的服务器发送一个更改日志,其中包含命令和参数列表,JSON与否是TBD。

此有效载荷可以是3或4K,不太可能更多。

处理要求的标准方法是什么? 客户端应该发送包含所有更改的json作为请求正文的一部分吗?

有什么建议吗?经验教训?

3 个答案:

答案 0 :(得分:1)

只需发布数据。 3-4 KB是没有什么,除非你在印度农村中间处理功能手机WAP浏览器,性能问题“OMG,我是谷歌并关心每个字节因为我的zillion-user userbase”类型或类似的东西。

如果你真的担心有效载荷大小,你可以在发送之前对它进行gzip-base64编码 - 但只有当a 你真的关心这个(这不太可能)时才这样做)和b)您的有效负载足够大,这可以节省带宽。 (gzip-base64'的小有效负载经常增加它们的大小,因为没有足够的数据来获得足够的压缩效益来抵消base64编码增加33%的大小。)

答案 1 :(得分:0)

您可以使用

设置最大上传大小
app.use(express.limit('5mb'));

如果这是一个问题?

但是,除了最大缓冲区大小(我认为是1GB)之外,默认情况下对此不应该有任何限制。

听起来这也是你可以通过常规POST请求发布到服务器的东西,换句话说你使用带有文件输入的表单并且只是以常规方式上传文件,因为4kb不是真的一个大文件。

答案 2 :(得分:0)

您可以使用普通的JSON帖子发送3 / 4K的数据。

您应该更加关注在服务器端接收的数据,无论是在开始处理数据之前缓冲所有数据(存储在db或其他地方),还是以块的形式处理它们。如果您只是将数据转储到服务器上的文件中,则应创建一个Writable流并将接收到的数据块泵入流中。

您如何处理服务器上收到的数据?但是,3 / 4K并不是真正令人担忧的数据量。