在标头中发布带有文件数据的请求。好的做法?

时间:2018-12-07 18:03:24

标签: javascript http http-headers

上下文

我编写了一个JS函数,该函数将POST请求以及图像文件的内容发送到我的API端点。要求的一部分是还发送与文件相关的信息作为请求的一部分。对我来说,将请求编码为多部分内容不是一种选择,因此我编写的解决方案包括将信息作为请求标头的一部分。

问题

我在related question上注意到,不建议将此方法作为一种选择,因此我想知道我的解决方案是否不被视为一种好的做法,是否存在任何潜在的弊端。到目前为止,我编写的代码可以按预期工作,但是我想在此处进行检查。

1 个答案:

答案 0 :(得分:1)

并非完全没有优先级将有关HTTP请求的信息添加到标头。例如,您可以考虑Content-TypeTitleLink不仅仅是“元数据”,而是相关数据。

我认为规范中没有任何内容明确禁止这样做。我认为最大的问题是它的“令人惊讶”的行为,尝试构建最不独特和/或令人惊讶的API很好。

一些随机选择,不一定按优先顺序排列。

  • 使用单独的HTTP请求
  • 使用多部分格式(这是超级常见的格式,不必导致大小精确增加33%。存在压缩)
  • 也许有点古怪,但是您可以将元数据嵌入EXIF或向.png文件中添加新组件。
  • 创建一个以元数据开头并带有完整的二进制图像文件的新格式并不困难

我将由您自己决定最好的方法,但是我认为您所做的事情不存在任何非标准规定。