Ограничение размера для возвращаемого значения jQuery или JavaScript метода ajax get? - PullRequest
2 голосов
/ 10 февраля 2012

Когда я использую метод GET ajax, есть ли ограничение на размер возвращаемого значения?

Если это так, является ли это ограничение из-за JavaScript / jQuery? В браузер? на сервер?

Я видел более старые статьи (5+ лет), которые, кажется, указывают на ограничение размера, но я не смог найти какой-либо недавней информации по этой теме.

Ответы [ 2 ]

3 голосов
/ 10 февраля 2012

Да, есть ограничение.Это зависит от архитектуры и доступной памяти.На машине x86_64 с 2G и 64-битной сборкой произойдет сбой с InternalError: квота пространства стека сценария исчерпана, однако на x86_64 с 4G и 64-битной сборкой она пройдет.который запускает и размещает сценарий для эффективного обслуживания запроса.

Если вы получаете сообщение стека сценариев InternalError, это просто означает, что вам нужно обновленное оборудование для выполнения запроса (ов).

Способы«контроль» это делать то, что называется «троттлинг».См. Другой стек для справки по этому вопросу: Как ограничить скорость ajax-запросов?

1 голос
/ 10 февраля 2012

Протокол HTTP не ограничивает размер любого ответа, как и сам jQuery.Таким образом, теоретически, вы можете сделать свой ответ GET настолько большим, насколько вы хотите.

На практике, однако, есть некоторые ограничения: веб-сервер может иметь максимальный размер ответа (особенно когдавы кешируете целые ответы), серверному коду могут потребоваться промежуточные этапы обработки, которые требуют дополнительного хранилища, клиенту необходимо где-то хранить данные ответов перед их обработкой, реализация JavaScript в браузере может иметь дополнительные ограничения памяти (вы не хотитемошеннический сценарий, поглощающий всю вашу физическую память: это было бы серьезной проблемой безопасности).Сколько именно слишком много, довольно сложно точно определить: несколько мегабайт, вероятно, в порядке, терабайт, конечно, нет.

Обратите внимание, что метод запроса довольно неинтересен в этом контексте;вышеупомянутые проблемы так же действительны для ответов на запросы POST или любого другого глагола HTTP.

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