将XML作为文本或Stream(二进制)传输

时间:2014-06-29 08:22:45

标签: asp.net-web-api transfer-encoding

我们希望将XML传输到可以接受文本和二进制数据的WEB API。 在流量大小方面转移它的最佳方法是什么?

将它作为明文或二进制数据流传输是否更好?

1 个答案:

答案 0 :(得分:1)

如果您担心要传输的XML数据太大,那么您可以尝试使用压缩,gzip压缩是最受欢迎的。 Web API有一些内置的功能,但你也可以自己推动自己的#34;如果你愿意,例如,如果你想要一个不同的压缩算法。

幸运的是,有大量代码可以帮助您压缩和解压缩数据流。看看以下内容:

最后,您可以考虑使用 Expect: 100-Continue 。如果API客户端即将发送具有大型实体主体的请求(如POST,PUT或PATCH),则可以在其HTTP标头中发送“Expect:100-continue”,并等待“100 Continue”响应发送他们的实体。这允许API服务器在浪费带宽以返回错误响应(例如401或403)之前验证请求的大部分有效性。支持此功能并不常见,但它可以在某些情况下提高API响应能力并减少带宽。 (RFC2616 §8.2.3)。

虽然我很感激,如果链接过时或被删除,链接的答案可能会有问题,这里解释Web API压缩的主题太大了。我希望我的回答能引导你走向有用的方向。