140

当通过 HTTP 发送使用 YAML 结构化的数据时,最合适的媒体类型(正式 MIME 类型)是什么?为什么?

我看不到已注册的应用程序类型文本类型

例子:

> GET /example.yaml

< Content-Type: ????
<
< --- # Favorite movies
< - Casablanca
< - North by Northwest
< - Notorious

可能的选项:

  • 文本/x-yaml
  • 文本/yaml
  • 文本/yml
  • 应用程序/x-yaml
  • 应用程序/x-yml
  • 应用程序/yaml
  • 应用程序/yml
4

6 回答 6

85

Ruby on Railsapplication/x-yamltext/yaml( source ) 一起使用。

我认为这只是惯例问题,据我所知,没有技术原因。

于 2008-12-01T20:50:18.343 回答
27

尽管接受了另一个答案,但请参阅IANA 邮件列表上的YAML 线程提议的媒体类型注册,以审查媒体类型,其中剑桥大学信息服务部的 Ben Harris于 2015 年 7 月代表 YAML 团队提议媒体类型:

text/vnd.yaml

带有(建议的)不推荐使用的别名:

text/yaml
text/x-yaml
application/x-yaml

那仍然是提议/待定的(线程不指示提议的状态)所以这个答案并不比其他答案更确定:-)

于 2016-06-23T20:13:06.637 回答
18

我会说text/x-yaml

text结束,application因为它是人类可读的

x-yaml结束,yaml因为它尚未被接受到已注册的 mime 类型列表中。

编辑:来自 RFC 3023(XML 媒体类型):

顶级媒体类型“文本”对 MIME 实体有一些限制,它们在 [RFC2045] 和 [RFC2046] 中有描述。特别是,不允许使用 UTF-16 系列、UCS-4 和 UTF-32(HTTP[RFC2616] 除外,它使用类似 MIME 的机制)。

有趣...不完全确定这意味着什么,但值得深思。

于 2008-12-01T20:50:50.030 回答
13

在 Chromeapplication/yaml上将下载,同时text/yaml将显示。

于 2020-06-17T12:33:32.913 回答
9

不鼓励使用“x-”媒体类型,请参阅RFC 4288,第 3.4 节。正确的做法是使用个人树、供应商树或实际尝试正确的媒体类型注册。

于 2010-06-24T15:04:12.250 回答
1

根据MIME 类型列表,它是text/yaml,即使它不在官方IANA MIME 列表中

于 2019-11-08T11:51:27.460 回答