有许多“标准”为“标准”Json Json (Json Json) (Json Json Json) (Json Json) Json Json (Json Json) Json (Json) Json (Json) Json (Json) Json (Json) Json (Json) Json (Json) Json(Json) Json (Json) Json (Json) Json(Json) Json (Json) Json内容类型 :

application/json
application/x-javascript
text/javascript
text/x-javascript
text/x-json

我用哪一种,在哪里?我假设安全和浏览器支持问题是一个因素。

相关:如果JSON被AST API送回来 是什么MIME类型?


当前回答

正确的 MIME 类型是application/json

但是

我经历过许多浏览器类型或框架用户需要的场景:

text/html

application/javascript

其他回答

正如许多其他人已经提到的那样,application/json是正确答案。

但还没有被解释的是你提出的其他选择 意指什么

  • application/x-javascript: JavaScript 以前 JavaScript 的实验 MIME 类型application/javascript成为标准。

  • text/javascript:现在过时。你应该使用application/javascript当使用 Javaramps 时。

  • text/x-javascript:上述情况下的实验性MIME类型。

  • text/x-jsonJSON 之前的实验 MIME 类型application/json正式注册。

总的来说,当你对内容类型有任何疑问时,你应该检查此链接

仅在使用时application/json作为米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米(截至2011年11月,有最新版本的Chrome、Firefox和火虫):

  • 当 JSON 从服务器上装入时, Chrome 不再发出警告 。
  • Firebug 会在回复中添加一个标签, 显示您格式化的 JSON 数据。 如果 MIME 类型不同, 它只会显示为“ 响应内容 ” 。

由于你可能必须更经常地使用这些内容,即使有,也总是尽量记住这三种内容类型。许多内容类型:

  • 内容类型:申请/json
  • 内容类型:应用程序/xml
  • 内容-类型:文本/ html

缩略IANA 登记注册application/json说:

使用这种媒体类型的应用:JSON一直被用来在以所有这些编程语言书写的申请之间交换数据:ActionScript、C、C#、Clojure、ColdFusion、Common Lisp、E、E、Eerlan、Go、Java、JavaScript、Lua、CAML目标、Perl、PHP、Python、Rebol、Ruby、Scala和Schep。

您会注意到 IANA. org 。也没有列出其他媒体类型,事实上,甚至application/javascript现在已经过时。application/json是唯一唯一可能的正确回答。

浏览器支持是另一回事。

得到最广泛支持的非标准媒体类型是:text/jsontext/javascript但有些大名甚至使用text/plain.

更奇怪的是Flickr发来的内容-类头头,text/xml谷歌的使用text/javascript对于其中的一些 它的ajax apis。

实例:

curl -I "https://ajax.googleapis.com/ajax/services/search/video?v=1.0&q=jsonexample"

产出:Content-Type: text/javascript

curl -I "https://www.flickr.com/services/rest/?method=flickr.test.echo&format=json&api_key=f82254c1491d894f1204d8408f645a93"

产出:Content-Type: text/xml

你的问题的一部分 跟我有关 当我刚刚看到它。

第三方供应商正在提供一种供多个客户使用的REST服务。 它是一个直向前方的REST, 配有查询参数, 返回一个完善的JSON。 我用 PHP 和 Java 测试了它的工作原理。

我的客户用甲骨服务公交车作为他的应用程序服务器和互联网之间的通道。Invalid message format错误。结果发现content-type返回时text/htmlOSB 将回复按此信头处理; 在文本、 XML 和 JSON 之间转换。 在此情况下, 回复是 JSON , 但信头没有这么说 。 联系提供者后, 我得到回复 : “ 我们不会改变它, 因为不会影响其他人 ” 。

缩略Content-Type标题标题指定内容应:# # # 而不是什么 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #实际。这就是说,在您的消费程序中,您可以检查或忽略它,并以任何方式处理内容。另一个例子是,您可以返回 GIF 数据,但指定内容类型为 JSON,然后去忽略信头,读取图像数据。这不会伤害您的程序,但可能会伤害其他人。

故事的道德感:好好表现。