【发布时间】:2019-03-09 13:51:45
【问题描述】:
我对 HTTP/2 有点陌生。我了解到使用 HTTP/2 我们可以向服务器发送多个请求,而无需等待先前的响应。好吧,我想将图像文件发送到很大的服务器(超过 500 MB)。列出的方法有以下here
- Base64 对文件进行编码,代价是数据大小增加了大约 33%。
- 首先在
multipart/form-dataPOST 中发送文件,并将ID 返回给客户端。然后客户端发送带有 ID 的元数据,然后 服务器重新关联文件和元数据。- 先发送元数据,返回一个ID给客户端。然后客户端发送带有ID的文件,服务器重新关联 文件和元数据。
我不想使用第一个解决方案,因为它会使文件大小增加 33%。我想使用第三种解决方案。
由于我使用的是 HTTP/2,所以我的问题是
- 是否可以同时发送元数据和图像而无需等待来自服务器的 ID?
- 如果是,那么我该如何实施?比如我是否必须在服务器端为客户端执行多线程,或者如何将元数据和图像相互关联?
- 如果不是,那我应该选择传统风格的 HTTP/1.1 吗?
我正在使用 Restful 和 JSON 进行通信。更具体地说,我使用 C# 命令行客户端将图像和 Asp.Net 作为服务器发送。
【问题讨论】: