Answers:
Ruby on Rails application/x-yaml
与text/yaml
(source)一起使用。
我认为这只是一个约定问题,据我所知,没有任何技术原因。
text/*
,没有显式charset=
参数的假定是ISO-8859-1,但其中的内容application/*
不一定是文本。(您链接的RFC是关于XML的,不确定其相关性。)
If a "charset" parameter is specified, it SHOULD be a required parameter, eliminating the options of specifying a default value. If there is a strong reason for the parameter to be optional despite this advice, each subtype MAY specify its own default value, or alternatively, it MAY specify that there is no default value. Finally, the "UTF-8" charset [RFC3629] SHOULD be selected as the default.
。没有text/yaml
nor的正式定义text/x-yaml
,因此默认值为UTF-8。
US-ASCII
(注:不是ISO-8859-1
)已于2013年1月在tools.ietf.org/html/rfc6838#section-4.2.1中text/*
作废。RFC 3023和RFC 7303均未提及任何有关据我所知。Regardless of what approach is chosen, all new text/* registrations MUST clearly specify how the charset is determined; relying on the US-ASCII default defined in Section 4.1.2 of [RFC2046] is no longer permitted.
text/*
UTF-8
每种text/*
媒体类型的默认设置都没有声明其IANA注册中的不同之处。
虽然另一个答案被接受,请参阅本为YAML提议的媒体类型的注册审查媒体类型IANA的邮件列表,其中本哈里斯,剑桥大学的信息服务,上线提出了 2015年7月代表YAML队的媒体类型的:
text/vnd.yaml
具有(建议)不推荐使用的别名:
text/yaml
text/x-yaml
application/x-yaml
那仍然是提议/待定的(线程不指示提议的状态),所以这个答案比其他答案更明确:-)
我会说text / x-yaml:
应用程序上的文本,因为它易于阅读
x-yaml优于yaml,因为它尚未被纳入哑剧类型的注册列表中。
编辑:从RFC 3023(XML媒体类型):
顶级媒体类型“文本”对MIME实体有一些限制,它们在[RFC2045]和[RFC2046]中进行了描述。特别是,不允许使用UTF-16系列,UCS-4和UTF-32(通过HTTP [RFC2616]使用类似于MIME的机制除外)。
有趣的...不确定是什么意思,但值得深思。
application/yaml
就像我们可能说的application/json
和那样更一致applicaiton/xml
。
不鼓励使用“ x-”媒体类型,请参阅RFC 4288,第3.4节。正确的做法是使用个人树,供应商树或实际尝试正确的媒体类型注册。
application/vnd.yaml
或者text/vnd.yaml
(文本看起来更好)
x.
。vnd.
并prs.
需要注册。参见tools.ietf.org/html/rfc6838#section-3.2和tools.ietf.org/html/rfc6838#section-3.3。
根据MIME类型列表,它是text/yaml
,即使它不在官方IANA MIME列表中
text/
除非明确声明了另一个MIME类型(例如text/html; charset=utf-8
),否则以ISO 开头的MIME类型将按照ISO-8859-1处理。application/
除非明确声明了另一个MIME类型,否则以MIME开头的MIME类型将作为UTF-8处理。例如,text/x-yaml
在text/x-yaml; charset=utf-8
和期间不能使用UTF-8字符application/x-yaml
。IIRC,这是在RFC 3023中定义的。–