【发布时间】:2012-01-26 13:46:27
【问题描述】:
REST 网络服务(通常产生例如简单的JSONs)能否处理和返回大的二进制输入/输出数据?
我的意思是,通过提供大文件的 HTTP POST 调用 REST 服务,然后再读取大结果? REST 可以吗? (“大”= 几兆字节)
【问题讨论】:
-
REST 架构不限于任何媒体类型。
标签: c# .net web-services rest soap
REST 网络服务(通常产生例如简单的JSONs)能否处理和返回大的二进制输入/输出数据?
我的意思是,通过提供大文件的 HTTP POST 调用 REST 服务,然后再读取大结果? REST 可以吗? (“大”= 几兆字节)
【问题讨论】:
标签: c# .net web-services rest soap
使用诸如 JSON 和 XML 之类的文本序列化程序,由于二进制数据需要进行 Base64 编码,因此通过网络传输的文件大小将增加约 33%。有更优化的协议,例如MTOM 来处理这种情况。 WCF supports MTOM 开箱即用。
【讨论】:
REST 架构非常有能力使用 HTTP 来提供 application/octet-stream,这只是一个字节流。 HTTP 可以非常可靠地处理非常大的文件。
【讨论】:
由于 REST 主要是基于 HTTP 的服务,因此 HTTP 的标准优势和限制也适用于 REST 服务。您可以将几 MB 的大文件作为 POST 发送到 REST API,其方式类似于将大文件上传到 Web 应用程序。
【讨论】: