В node.js и express, как клиент должен отправить большой, до 3k, объем данных на сервер?

клиент будет отправлять мой сервер в журнал изменений, содержащий список команд и параметров, JSON или нет, это TBD.

Эта полезная нагрузка может быть 3 или 4K, вероятно, не больше.

Каков стандартный подход к удовлетворению требований? Клиент должен отправить json, содержащий все изменения, как часть тела запроса?

Любые рекомендации? Уроки выучены?

3 ответа

Просто отправьте данные. 3-4 КБ - это ничего, кроме случаев, когда вы имеете дело с широкоформатными WAP-браузерами в середине сельской Индии, проблемы с производительностью "OMG, я Google и забочусь о каждом байте из-за моего типа" пользовательская база данных zillion user user "), или что-то типа того.

Если вы действительно беспокоитесь о размере полезной нагрузки, вы можете gzip-base64 закодировать ее перед отправкой - но только сделайте это, если: a) вы действительно заботитесь об этом (что маловероятно) и b) ваша полезная нагрузка достаточно велика, чтобы это экономило вашу пропускную способность, (gzip-base64'ing небольших полезных нагрузок часто увеличивает их размер, так как данных недостаточно, чтобы получить достаточное сжатие, чтобы компенсировать увеличение размера 33% от кодировки base64).


Вы можете использовать обычную почту JSON для отправки через 3/4K данных.

Вы должны уделять больше внимания тому, что вы делаете с данными, полученными на стороне сервера, независимо от того, будите ли вы накапливать все данные, прежде чем начать их обрабатывать (хранить в db или в другом месте), или обрабатывать их в кусках. Если вы просто сбрасываете данные в файлы на сервере, вы должны создать поток Writable и загружать куски данных, полученных в поток.

Как вы собираетесь обрабатывать полученные данные на сервере? Но тогда 3/4K не вызывает особого беспокойства количество данных.


Вы можете установить максимальный размер выгрузки с помощью

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

если это проблема?

Но на самом деле не должно быть никаких ограничений по умолчанию, кроме максимального размера буфера (который, я считаю, равен 1 ГБ).

Это также звучит так, что вы можете просто отправить сообщение на сервер с регулярным POST-запросом, другими словами, вы используете форму с вводом файла и просто загружаете файл обычным способом, так как 4kb на самом деле не большой файл,

licensed under cc by-sa 3.0 with attribution.