Существует ли ограничение размера для запросов HTTP GET с телами JSON?
Нет , в HTTP нет ограничения по размеру, но , возможно, есть ограничение в другом месте.
Тела ответа HTTP могут иметь произвольный размер, хотя существует несколько других факторов, которые могут привести к жесткому ограничению:
- В вашем конкретном случае сам PHP. В PHP есть переменная конфигурации с именем
memory_limit
, которая накладывает ограничение на процесс PHP.
- Ваша физическая память. Проблема с отправкой JSON заключается в том, что, если у вас нет особой настройки и вы не выполняете потоковую передачу ответа, вся полезная нагрузка JSON должна буферизироваться в памяти вашего сервера (вместе со строками результата из вашего запроса!).
На практике memory_limit
будет первым пределом, который вы достигнете. Обычно рекомендуется использовать LIMIT
в ваших SQL-запросах и разбивать ответы на страницы. Отправка, скажем, 1 МиБ JSON, как правило, не очень хорошая идея.