Существует ли ограничение размера для запросов HTTP GET с телами JSON? - PullRequest
0 голосов
/ 09 сентября 2018

Я вызываю PHP REST API из приложения iOS для получения данных из моей базы данных MySQL. Я хотел знать, существует ли ограничение на размер данных, которые я могу получить с помощью HTTP-запроса GET, учитывая, что он сериализован как JSON.

Ответы [ 2 ]

0 голосов
/ 09 сентября 2018

Существует ли ограничение размера для запросов HTTP GET с телами JSON?

Нет , в HTTP нет ограничения по размеру, но , возможно, есть ограничение в другом месте.

Тела ответа HTTP могут иметь произвольный размер, хотя существует несколько других факторов, которые могут привести к жесткому ограничению:

  • В вашем конкретном случае сам PHP. В PHP есть переменная конфигурации с именем memory_limit, которая накладывает ограничение на процесс PHP.
  • Ваша физическая память. Проблема с отправкой JSON заключается в том, что, если у вас нет особой настройки и вы не выполняете потоковую передачу ответа, вся полезная нагрузка JSON должна буферизироваться в памяти вашего сервера (вместе со строками результата из вашего запроса!).

На практике memory_limit будет первым пределом, который вы достигнете. Обычно рекомендуется использовать LIMIT в ваших SQL-запросах и разбивать ответы на страницы. Отправка, скажем, 1 МиБ JSON, как правило, не очень хорошая идея.

0 голосов
/ 09 сентября 2018

Я считаю, что нет никаких ограничений по размеру с запросами JSON. Однако любые прямые ограничения могут быть вызваны или установлены при разборе запроса через сервер. Поэтому можно подумать, что, возможно, сама база данных MySQL может иметь их. Надеюсь это поможет!

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