Передача больших объемов json по http

У меня есть большие объемы (гигабайты) данных json, которые я хотел бы сделать доступными через спокойный веб-сервис. Потребителем данных будет другая служба, и все это будет происходить на сервере (поэтому браузер не задействован). Есть ли практический предел тому, сколько данных может быть передано через http? Начнут ли возникать тайм-ауты http, или это больше функция браузера?


person Jeff Storey    schedule 21.12.2012    source источник


Ответы (1)


Размер тела HTTP не ограничен. Так же, как загрузка огромного файла через веб-браузер. И тайм-аут - это настройка соединения сокета, поверх которого строится HTTP, поэтому это не функция, указанная в браузере.

Однако я столкнулся с той же проблемой при транспортировке довольно большого объекта json. Необходимо учитывать нагрузку на сеть, время сериализации/десериализации и стоимость памяти. Весь процесс медленный (2 ГБ данных, через интранет, с использованием JSON.NET и некоторых расчетов, которые мы занимаем 2-3 минуты) и занимает довольно много памяти. К счастью, нам просто нужно делать это один раз в день, и это внутренний процесс. Поэтому мы не обращаем на это больше внимания. Мы просто используем режим синхронизации для HTTP-соединения и устанавливаем большое значение тайм-аута, чтобы предотвратить исключение тайм-аута (возможно, асинхронный режим — хороший выбор).

Поэтому я думаю, что это зависит от вашего оборудования и инфраструктуры.

person Chris Li    schedule 21.12.2012