YAML 媒体类型?

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

没有注册的 申请类别文字类型,我可以看到。

例如:

> GET /example.yaml


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

可能的选择:

  • Text/x-yaml
  • 短信/yaml
  • Text/yml
  • 申请/x-yaml
  • Application/x-yml
  • 申请/供养
  • 申请书/商标注册处
84550 次浏览

RubyonRails 使用 application/x-yamltext/yaml(来源)的替代品。

我认为这只是一个惯例的问题,没有 技术上的为什么,就我所知。

我会说 text/x-yaml:

text/application因为它是人类可读的

x-yaml优于 yaml,因为它还没有被注册为默剧类型列表。

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

顶级媒体类型“ text”具有 对 MIME 实体的一些限制 它们在[ RFC2045]中有描述 [ RFC2046] UTF-16家族、 UCS-4和 UTF-32是 不允许(除非超过 HTTP [ RFC2616] ,它使用类似 MIME 的 机械装置)。

有意思... 虽然不太确定是什么意思,但值得深思。

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

虽然另一个答案被接受,请参考 IANA 邮件列表中的 YAML 的媒体类型注册建议线程来审查媒体类型,其中,2015年7月剑桥信息服务大学的本 · 哈里斯代表 YAML 团队审查媒体类型:

text/vnd.yaml

使用(建议的)已废弃的别名:

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

这仍然是建议/悬而未决(线程并不表示建议的状态) ,所以这个答案并不比其他的更明确: -)

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

在 Chromeapplication/yaml将下载,而 text/yaml将显示。

IETF 正在注册 application/yaml媒体类型和 +yaml结构化语法后缀。

目前,我们没有注册 text/yaml.https://github.com/ietf-wg-httpapi/mediatypes/blob/main/draft-ietf-httpapi-yaml-mediatypes.md

欢迎参加讨论。