【发布时间】:2014-06-29 22:29:25
【问题描述】:
我们希望将 XML 传输到可以接受文本和二进制数据的 WEB API。 就流量大小而言,传输它的最佳方式是什么?
以明文形式还是以二进制数据流形式传输更好?
【问题讨论】:
标签: asp.net-web-api transfer-encoding
我们希望将 XML 传输到可以接受文本和二进制数据的 WEB API。 就流量大小而言,传输它的最佳方式是什么?
以明文形式还是以二进制数据流形式传输更好?
【问题讨论】:
标签: asp.net-web-api transfer-encoding
如果您担心要传输的 XML 数据太大,那么您可以尝试使用压缩,gzip 压缩是最流行的。 Web API 对此有一些内置功能,但如果您愿意,也可以“自行开发”,例如,如果您想要不同的压缩算法。
幸运的是,有大量代码可以帮助您压缩和解压缩数据流。看看以下内容:
最后,您可以考虑使用 Expect: 100-Continue。如果 API 客户端将要发送带有大型实体主体的请求,例如 POST、PUT 或 PATCH,他们可以在其 HTTP 标头中发送“Expect: 100-continue”,然后等待“100 Continue”响应发送他们的实体主体。这允许 API 服务器在浪费带宽返回错误响应(例如 401 或 403)之前验证请求的大部分有效性。支持这个功能不是很常见,但在某些场景下可以提高 API 响应能力并减少带宽。 (RFC2616 §8.2.3)。
虽然我很欣赏一个充满链接的答案,如果这些链接过时或被删除,可能会出现问题,但在这里解释 Web API 压缩只是一个太大的主题。希望我的回答能引导您朝着有用的方向前进。
【讨论】: