Максимальный размер json для ответа браузеру

Я создаю дерево с некоторыми пользовательскими элементами управления, подготовленными с помощью JavaScript/jquery.

Для создания дерева мы предоставляем объект json в качестве входных данных для java-скрипта, чтобы перебрать и создать дерево.

Так как объем данных может доходить до 25К узлов. во время базового нагрузочного теста мы определили, что браузер будет зависать для такого объема.

Альтернативное решение - просто загрузить первый уровень узлов и покой загрузить по требованию с помощью AJAX-запроса. Объем первого уровня может варьироваться до 500 - 1K узлов.

Какой максимальный размер должен иметь json в ответе от сервера. Что может быть лучшим подходом для обработки такого объема данных в браузере.

4 ответа

Решение

Максимальный размер ответа HTTP не ограничен (или настроен максимальный размер Int, или ограничение браузера, или ограничение сервера).

Наилучший подход - использовать AJAX для загрузки части данных, когда они должны быть показаны.

HTTP-ответ не имеет ограничения по размеру. JSON приходит как ответ HTTP. Так что у него нет ограничений по размеру.

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

Я думаю, что ленивая загрузка - лучший подход для таких больших объемов данных. Особенно при работе с объектными литералами.

Смотрите презентацию высокопроизводительного Ajax-приложения от Yahoo.

Ну, я думаю, что я слишком поздно, чтобы дать свои два цента. В дополнение к ответу shiplu.mokadd.im память браузера является ограничением, и ответ HTTP может содержать любой объем данных в соответствии со спецификацией TCP.

Но у меня есть приложение, которое использует Google Chrome (версия 29.0.xx) и сервер Jetty, где ответ от сервера Jetty имеет полезную нагрузку, составляющую 335 МБ. Пока браузер получает ответ такого размера, Chrome перестает оставлять сообщение "IPC-сообщение слишком большое". Хотя это характерно для Google Chrome (не уверен в других браузерах), должно быть ограничение на максимальный размер ответа.

Ограничения на максимальный размер нет, но размер зависит от ОЗУ клиентской системы (системы, в которой существует браузер), ЦП, пропускной способности сети для анализа больших данных json. Если система находится на низком уровне и с большими данными json, браузер зависает.

Другие вопросы по тегам