content-type: text/json 和 application/json 之间的确切区别是啥?
Posted
技术标签:
【中文标题】content-type: text/json 和 application/json 之间的确切区别是啥?【英文标题】:What is the exact difference between content-type: text/json and application/json?content-type: text/json 和 application/json 之间的确切区别是什么? 【发布时间】:2014-04-19 19:23:21 【问题描述】:两者的确切区别是什么
-
内容类型:文本/json
内容类型:application/json
我一直在随机使用它们,但在两个 http 标头中都没有发现任何输出差异?
【问题讨论】:
***.com/questions/9664282/… 的可能重复项。 【参考方案1】:application/json
: json 的官方 MIME 类型
text/x-json
: 在 application/json 正式注册之前的 json 的实验性(非官方)MIME 类型
【讨论】:
拜托,“MIME 类型”和“媒体类型”已经交替使用了 20 年。类 unix 系统仍然几乎都有一个 /etc/mime.types 文件,我向你保证,这个文件并非专门用于 mailcap。 [需要引用]【参考方案2】:来自Content-Type:的定义
七个标准的初始预定义内容类型中的两个是:
text
:文字信息。主要子类型“plain”表示纯(无格式)文本。 No special software is required to get the full meaning of the text
,除了支持指定的字符集。子类型将用于应用软件可以增强文本外观的形式中的丰富文本,但为了获得内容的总体概念,必须不需要此类软件。因此,可能的子类型包括任何可读的文字处理器格式。本文档中定义了一个非常简单且可移植的子类型 Richtext。
application
:一些其他类型的数据,typically either uninterpreted binary data
或由基于邮件的应用程序处理的信息。主要子类型“八位字节流”将用于未解释的二进制数据,在这种情况下,最简单的推荐操作是提供将信息写入用户文件。定义了两个额外的子类型“ODA”和“PostScript”,用于在正文中传输 ODA 和 PostScript 文档。 “应用程序”的其他预期用途包括电子表格、基于邮件的调度系统的数据以及“活动”(计算)电子邮件的语言。
(强调我的)
换句话说:
text
如果是可读文本(JSON 是)
application
如果它的二进制数据不可读(JSON 不是)
理想情况下是text/json
,但Douglas Crockford registered application/json
:
使用此媒体类型的应用程序:JSON 已用于在使用以下所有编程语言编写的应用程序之间交换数据:ActionScript、C、C#、Clojure、ColdFusion、Common Lisp、E、Erlang、Go、Java、javascript、 Lua、Objective CAML、Perl、php、Python、Rebol、Ruby、Scala 和 Scheme。
那他为什么注册在application
而不是正确的text
?
最初是 text/json
。在他的first January 2006 draft:
5. IANA 考虑因素
JSON 文本的 MIME 媒体类型是 text/json。
在他的第 1、第 2 和第 3 次修订中,它仍然是 text/json
。但在 2006 年 2 月的第 4 次修订中,他将其更改为 application/json
(有错别字):
6. IANA 考虑因素
JSON 文本的 MIME 媒体类型是 application/json。
类型名称:
text
子类型名称:
json
到 2006 年 7 月它被接受为完整的 RFC 时,所有 text 的拼写错误都已消失:
IANA 注意事项
JSON 文本的 MIME 媒体类型是 application/json。
类型名称:应用程序
子类型名称:json
显然,从 text/json
更改为 application/json
的原因是 IANA 更有可能分发 application/*
而不是 text/*
分配。
【讨论】:
我同意text/json
会是更合乎逻辑(最不令人惊讶)的选择。我在研究 text/json
是 not 注册的 MIME 类型的原因时找到了这个答案,因此感谢您提供历史背景。以上是关于content-type: text/json 和 application/json 之间的确切区别是啥?的主要内容,如果未能解决你的问题,请参考以下文章