降价的mime类型是什么?

时间:2012-05-22 12:24:23

标签: mime-types markdown mime plaintext

任何人都知道markdown是否存在mime类型?我想这是纯文本,但有更具体的一个吗?

5 个答案:

答案 0 :(得分:101)

没有官方标准类型,但text/markdown似乎是最常见的事实上的类型。大多数浏览器和其他相当复杂的客户端可能会看到text/部分并默认为text/plain,因此没有太大区别。

但有一点需要注意:text/ hiearchy下的所有类型都默认为 ISO-8859-1 ,因为它们在相关RFC标准中的字符类型。此后,世界上大多数人都转向 UTF-8 。因此,除非你肯定会使用任何有趣的角色(或者生活在旧的Windows世界中),否则你可能需要按如下方式指定:

text/markdown; charset=UTF-8

答案 1 :(得分:96)

tl; dr:text/markdown自2016年3月起

2016年3月,text/markdown注册为RFC7763 at IETF

以前,应该是text/x-markdown。下面的文字描述了2016年3月之前的情况,当时RFC7763仍然是草案。


Gruber’s definition没有官方推荐,但official mailing-list对该主题进行了大量讨论,并选择了text/x-markdown

这个结论是challenged later,已经得到确认,并且可以被IMO视为共识。

这是缺少官方mime类型的唯一合乎逻辑的结论:text/几乎可以在任何地方x-提供正确的默认值,因为我们不使用官方类型{{1}而不是markdown或其他因为类型现在如此常见。

尽管如此,关于Markdown的不同“风味”仍有unknowns。我想有人应该注册一个官方类型,据说是easy,但我怀疑是否有人敢于超越John Gruber,因为他最近proved他对Markdown的依恋。

gruber.的IETF上有draft,但内容似乎根本没有描述Markdown,因此我不会使用它直到它变得更完整。

答案 2 :(得分:8)

答案 3 :(得分:5)

从2008年发现此帖子:http://www.mail-archive.com/markdown-discuss@six.pairlist.net/msg00973.html

似乎mime类型text/vnd.daringfireball.markdown应该由Markdown的作者注册,直到那时Markdown mime类型可以指定为text/x-markdown

答案 4 :(得分:0)

根据 2016 年的 RFC7763 “The text/markdown type”,一般的 MIME 类型是

ToField

其中需要 orderID 参数但不必是 text/markdown; charset=UTF-8

那个 RFC 还指定了一个可选的 charset 参数,并且 Internet 号码分配机构维护一个registry of Markdown Variants 可以指定 Markdown 的特定变体,例如,

UTF-8

某些变体允许更多参数,如在 RFC7764 “Guidance on Markdown”, 例如,您可以添加带有 variant 变体的 text/markdown; charset=UTF-8; variant=Original text/markdown; charset=UTF-8; variant=GFM text/markdown; charset=UTF-8; variant=CommonMark 以指定对方言的调整, 虽然我不知道 pandoc 会如何/是否会真正解释这一点。

为什么需要字符集?

RFC2046 “MIME Part Two” 来自 1996 设置US-ASCII为默认字符集,还说

<块引用>

“文本”的任何未来子类型的规范必须指定 他们是否也将使用“字符集”参数,并且可能 也可能限制其值。

然后是 1999 年的 RFC2616 “HTTP/1.1” 指定 ISO-8859-1 作为 extensions=-startnum 传输的默认字符集 HTTP,随着网络成为主要的通信方式, 这成为 pandoc 媒体类型的假定默认编码。

没有明确的字符集或注册的特定于 MIME 类型的默认值,text/* 被认为是 US-ASCII,除非所述文本通过 HTTP 传输,在这种情况下 被认为是 ISO-8859-1。

RFC 6657 “Update to MIME regarding "charset" Parameter Handling in Textual Media Types” 试图澄清这一差异 通过要求所有新媒体类型注册 明确指定如何 确定字符集, 最好将其包含在有效负载中,因为 HTML 允许 text/*

text/markdown registrationtext/* 参数指定为“必需”。因此使用内容类型 <meta charset=UTF-8> 技术上无效,此类内容的字符集可能 合法地被解释为任何未定义的、无效的、US-ASCII、 ISO-8859-1,或在实践中几乎总是如此的 UTF-8。