任何人都知道markdown是否存在mime类型?我想这是纯文本,但有更具体的一个吗?
答案 0 :(得分:101)
没有官方标准类型,但text/markdown
似乎是最常见的事实上的类型。大多数浏览器和其他相当复杂的客户端可能会看到text/
部分并默认为text/plain
,因此没有太大区别。
但有一点需要注意:text/
hiearchy下的所有类型都默认为 ISO-8859-1 ,因为它们在相关RFC标准中的字符类型。此后,世界上大多数人都转向 UTF-8 。因此,除非你肯定会使用任何有趣的角色(或者生活在旧的Windows世界中),否则你可能需要按如下方式指定:
text/markdown; charset=UTF-8
答案 1 :(得分:96)
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)
看起来 text / markdown 将成为标准。
答案 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
registration
将 text/*
参数指定为“必需”。因此使用内容类型
<meta charset=UTF-8>
技术上无效,此类内容的字符集可能
合法地被解释为任何未定义的、无效的、US-ASCII、
ISO-8859-1,或在实践中几乎总是如此的 UTF-8。