2009-09-30 2 views
30

Мы думаем использовать интерфейс REST для связи между внутренними приложениями. Приложение A должно передать справедливую бит данных, представляющих финансовый портфель, в приложение B. Существует ли ограничение на количество данных, которые могут быть переданы с использованием REST API, если REST реализован с использованием HTTP? Я не был уверен, следует ли использовать другой протокол (т. Е. RMI) с большим набором данных.REST полезная нагрузка максимальный размер?

ответ

26

Нет, это в значительной степени зависит от реализации сервера, если есть такой предел.

Ограничение по размеру URL-адреса (если вы хотите поместить большие объемы данных в URL-адрес, например, с помощью GET), но не определено ограничение для POST или PUT.

+4

Это правда, но я хотел бы добавить, что для больших сообщений и значительных задержек производительность может стать проблемой, хотя бы из-за ограничений TCP/IP. Типичным обходом является одновременное добавление нескольких частей. –

19

Как сказал бы Хэртунг, в стандарте нет предела (RFC 2616). Но каждая реализация имеет свои пределы. Несколько примеров:

  • Два мегабайта для Tomcat (вы можете изменить его с maxPostSize)
  • Два мегабайта для PHP (вы можете изменить его с post_max_size)
  • Два мегабайта для самого Apache (вы можете изменить его с LimitRequestBody)

Эти пределы реализации обычно являются значениями конфигурации по умолчанию и могут быть изменены на большие, если требуется.

+1

Я не думаю, что это правильно, по крайней мере для Tomcat. maxPostSize влияет только на полезную нагрузку с приложением типа контента/x-www-form-urlencoded. Я подозреваю, что ответ PHP имеет такое же ограничение, хотя Apit LimitRequestBody действительно делает то, что запрашивается. – fool4jesus

+0

И каков предел размера ответа GET? То же, что и для POST? –

Смежные вопросы