两者之间的确切区别是什么
我一直在随机使用它们,但从未在两个 http 标头中发现任何输出差异?
application/json
:json 的官方 MIME 类型
text/x-json
:在 application/json 正式注册之前,实验性(非官方)的 json MIME 类型
七个标准初始预定义内容类型中的两个是:
text
:文本信息。主要子类型“纯文本”表示纯文本(无格式)。 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 注册了
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
。在他的2006 年 1 月第一次选秀中:
在他的5。 IANA 注意事项
JSON 文本的 MIME 媒体类型是text/json。
。但是在 2006 年 2 月的
第四次修订中,他将其更改为 application/json
(有拼写错误):
当它于 2006 年 7 月被接受为完整的6。 IANA 注意事项
JSON 文本的 MIME 媒体类型是application/json。
输入名称:子类型名称:
text
json
RFC 时,任何提及 text 的内容都消失了:
显然从6。 IANA 注意事项
JSON 文本的 MIME 媒体类型是 application/json。输入名称:
子类型名称:
application
json
text/json
更改为
application/json
的原因是 IANA 更有可能分配
application/*
而不是
text/*
分配。