REST сервис и большие файлы - PullRequest
4 голосов
/ 26 января 2012

Может ли REST веб-служба (которая обычно производит, например, простые JSONs) обрабатывать и возвращать большие двоичные данные ввода / вывода?

Я имею в виду, чтобы вызвать службу REST с помощью HTTP POSTпредоставление большого файла и последующее чтение большого результата назад?REST хорошо для этого?(«Большой» = несколько мегабайт)

Ответы [ 3 ]

3 голосов
/ 26 января 2012

REST-архитектуры вполне способны использовать HTTP для обслуживания application/octet-stream, что является просто потоком байтовHTTP может довольно надежно обслуживать очень большие файлы.

3 голосов
/ 26 января 2012

При использовании текстовых сериализаторов, таких как JSON и XML, размер файлов по проводам увеличивается примерно на 33%, поскольку двоичные данные должны быть закодированы в Base64.Есть более оптимизированные протоколы, такие как MTOM для обработки этого сценария. WCF поддерживает MTOM из коробки.

2 голосов
/ 30 июля 2012

Поскольку REST - это, прежде всего, служба по HTTP, стандартные преимущества и ограничения HTTP также применимы к службам REST. Вы можете отправлять большие файлы размером в несколько МБ как POST в REST API так, как если бы вы загружали большой файл в веб-приложение.

...