簡體   English   中英

在node.js和express中,客戶端應如何向服務器發送多達3k的大量數據?

[英]In node.js and express, how should a client send a large, up to 3k, amount of data to the server?

客戶端將向我的服務器發送更改日志,其中包含命令和參數列表,JSON是否為TBD。

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

處理需求的標准方法是什么? 客戶端應該發送包含所有更改的json作為請求正文的一部分嗎?

有什么建議嗎? 得到教訓?

只需發布數據即可。 除非您在印度中部的中部地區使用功能電話WAP瀏覽器,否則3-4 KB就什么也不是了,“ OMG,我是Google,並且因為我的億萬用戶用戶群而關心每個字節”類型的性能問題, 或類似的東西。

如果您真的很擔心有效負載的大小,可以在發送之前gzip-base64對其進行編碼-但只有在以下情況下才執行此操作:a)您真的很在乎(不太可能),並且b)有效負載足夠大以節省帶寬。 (gzip-base64的小型有效負載通常會增加其大小,因為沒有足夠的數據來獲得足夠的壓縮優勢,無法抵消base64編碼增加的33%的大小。)

您可以通過以下方式設置最大上傳大小

app.use(express.limit('5mb'));

如果有問題嗎?

但是,默認情況下,除了最大緩沖區大小(我認為是1GB)外,實際上應該沒有任何限制。

這聽起來也像您可以通過常規POST請求將其發布到服務器上一樣,換句話說,您可以使用帶有文件輸入的表單並以常規方式上載文件,因為4kb並不是很大的文件。

您可以使用普通的JSON帖子來發送3 / 4K數據。

無論在開始處理它們(存儲在db還是其他地方)之前緩沖所有數據,還是分塊處理它們,您都應該更加注意如何處理服務器端接收到的數據。 如果只是將數據轉儲到服務器上的文件中,則應創建可寫流並將接收到的數據塊泵入流中。

您將如何處理服務器上收到的數據? 但是,3 / 4K並不是真正令人擔心的數據量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM