为什么要使用 multipart/form-data 而不是 application/octet-stream?

Why to use multipart/form-data over application/octet-stream?

我不清楚它们是什么,也不太清楚何时使用它们。

例如,我有 REST 客户端,我想发送一个文件(.zip 文件),如果我使用这些类型中的任何一种,会发生什么情况

但是如果我只想发送一个文件,那么 excectly multipart 给我的八位字节流没有什么?

在这两个请求中,整个文件都以某种方式在内部进行了编码,对吧?处理方式有何不同。我看不出有什么好处。为什么 Feign 客户端教程使用 multipart 还是只是常见的做法?

此外,我发现您还需要以某种方式在服务器中启用整个多部分马戏团才能接收它。那有什么意义呢?

过去,我对 .zip 文件使用 application/zipapplication/octet-stream。对于您的情况,这些 headers 中的任何一个都应该可以正常工作。

根据另一位评论者 -

"Multipart 用于在一次 HTTP 请求中发送多个部分(例如表单字段和一些文件),并指定文件名和编码。它不会将大文件拆分成多个部分。一个文件仍然只是一个部分一个多部分请求。在这两种情况下都可以包含 HTTP headers。“

以下线程也可能提供更多上下文:

Mutipart form data

URL encoded multipart form data