Я пытаюсь отправить объект JSON от клиента к серверу и получить ответ, но все подходы, которые я нахожу, либо неадекватны, либо излишни - PullRequest
0 голосов
/ 27 мая 2020

Я в ситуации, когда я не уверен, как это сделать правильно. Я пытаюсь взять большой файл json, отправить его на сервер, обработать и переупорядочить, а затем отправить обратно клиенту. Я не хочу хранить данные в базе данных. Я знаю, что есть команда HTTP GET, но объем вводимых данных будет больше, чем максимальная длина URI. Я также читал, что вы также не должны пытаться сделать это с помощью HTTP POST.

Я тоже изучал WebSockets, но мне это кажется излишним. Мне понадобится сокет только на время, необходимое для выполнения вычислений, а затем я закрою его. Также я хочу поделиться данными только с клиентом, который прислал их мне.

Есть ли у кого-нибудь рекомендации относительно того, что делать. Может быть, просто pu sh в правильном направлении с несколькими ссылками, которые я могу прочитать. Я действительно ищу что-то среднее между этими двумя методами.

1 Ответ

0 голосов
/ 27 мая 2020

Почему бы вам просто не использовать HTTP-запрос POST? Взято из информационного окна на https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST

> Request has body                  Yes  
> Successful response has body      Yes  
> Safe                              No  
> Idempotent                        No  
> Cacheable                         Only if freshness information is included  
> Allowed in HTML forms             Yes  

Как видите, запрос HTTP POST используется для отправки данных на сервер, и если запрос POST был успешным, сервер отправляет данные обратно в клиент. Я думаю, идеально подходит для вашей ситуации.

Запрос POST не обязательно должен использоваться в форме HTML; вы можете использовать XHR, AJAX, API выборки или любой другой способ, который вы можете найти, для отправки серверу запроса POST. И да, вы можете отправить с ним данные JSON.

Если вам нужно больше убедительности:

Когда запрос POST отправляется с помощью метода, отличного от формы HTML - как через XMLHttpRequest - тело может принимать любой тип. Как описано в спецификации HTTP 1.1, POST разработан, чтобы позволить унифицированному методу охватывать следующие функции:

  • Аннотации существующих ресурсов
  • Отправка сообщения на доску объявлений, группу новостей , список рассылки или аналогичная группа статей;
  • Добавление нового пользователя через модальное окно регистрации;
  • Предоставление блока данных, такого как результат отправки формы, в data- процесс обработки;
  • Расширение базы данных с помощью операции добавления.

Обратите внимание, что там сказано, что запрос POST может использоваться для предоставления блока данных в процесс обработки данных.

Надеюсь, это вам поможет. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...