用于字节块的 HTTP“内容类型”是啥?

Posted

技术标签:

【中文标题】用于字节块的 HTTP“内容类型”是啥?【英文标题】:What is the HTTP "content-type" to use for a blob of bytes?用于字节块的 HTTP“内容类型”是什么? 【发布时间】:2012-10-24 19:14:28 【问题描述】:

在响应客户端的 GET 请求时返回字节块时使用的 HTTP“内容类型”是什么?

在这种情况下,信息负载是使用 Python 的 Pickle 库序列化的对象。

【问题讨论】:

请注意,一切都是“字节块”,但如果确实有已知的 mimetype,application/octet-stream 是一个不错的选择。 【参考方案1】:

你应该使用application/octet-stream

【讨论】:

或者,根本不发送 Content-Type 标头字段。【参考方案2】:

您应该使用正确的 MIME 类型:

application/python-pickle

这是事实上的标准(这意味着:它不是 application/pickle 或 application/pickle-python)。

RFC2046 规定:

4.5.3。其他应用程序子类型 预计将来会定义许多其他“应用程序”子类型。 MIME 实现必须至少将任何无法识别的子类型视为等同于“application/octet-stream”。

因此,对于非 pickle 感知系统,流看起来像任何其他八位字节流(您不会做任何会破坏现有应用程序的事情),但对于 pickle 感知系统来说,这是至关重要的信息。

【讨论】:

这不是“正确”类型(它不在注册表中) 这是事实上的标准。 RFC2046 状态:4.5.3。其他应用程序子类型 预计将来会定义许多其他“应用程序”子类型。 MIME 实现必须至少将任何无法识别的子类型视为等同于“application/octet-stream”。因此,对于非 pickle 感知系统,流看起来像任何其他八位字节流,但对于启用 pickle 的系统,这是至关重要的信息 您能否提供“这是事实上的标准”的参考资料?

以上是关于用于字节块的 HTTP“内容类型”是啥?的主要内容,如果未能解决你的问题,请参考以下文章

应用程序/pdf 内容类型 http 响应标头的正确字符集是啥?

drupal 中内容类型渲染的钩子是啥?

excel文件的正确内容类型是啥? [复制]

从 C# 中的字节 [] 获取内容类型 [关闭]

如何使用 Blazor 呈现知道其内容类型的字节数组?

使用 Ruby,获取给定 URL 的内容类型的最有效方法是啥?