JSON 内容类型有许多“标准 ” :
application/json
application/x-javascript
text/javascript
text/x-javascript
text/x-json
我用哪一种,在哪里?我假设安全和浏览器支持问题是一个因素。
相关:如果JSON被REST API送回,什么MIME类型?
JSON 内容类型有许多“标准 ” :
application/json
application/x-javascript
text/javascript
text/x-javascript
text/x-json
我用哪一种,在哪里?我假设安全和浏览器支持问题是一个因素。
相关:如果JSON被REST API送回,什么MIME类型?
当前回答
这取决于观点。
如果您是发送请求书的客户,那么申请/json就是正确的选择。
但如果您是收到请求的服务器, 您必须做好准备, 客户端也可以发送编码。 因此应用程序/ json 和 应用程序/ json; 字符set=utf-8 是有效的 。
两种情况下媒体类型相同。 但内容类型不同 。
其他回答
并非所有内容类型应用程序/json都有效。
如果您正在使用 Ext JS 表格提交到上传文件, 请注意, 服务器响应由浏览器解析, 以创建 < iframe > 的文档 。
如果服务器正在使用 JSON 发送返回对象, 则内容- 类型页眉必须设置为文本/ html , 以便告诉浏览器将文本插入文档正文, 未改变 。
见Ext JS 3.4.0 API文件。
扩大被接受的答复, 当你使用JSON 在REST背景下...
当您代表REST的资源和收藏时,使用应用程序/x资源+json和应用程序/x收集+json是有充分论据的。
如果您决定遵循jsonapi 规范, 您应该使用已记录在案的应用程序/ vnd. api+json 。
虽然不存在普遍标准,但显然,所转让资源中增加的语义显然证明,比仅仅应用/json更明确的内容类型是合理的。
根据这一推理,其他情况可以证明更具体的内容类型是合理的。
正确的答案是:
Content-Type: application/json
IANA 申请登记/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 没有列出任何其他类型的媒体, 事实上, 应用程序/ javascript 现在已经过时了 。 因此应用程序/ json 是唯一可能的正确答案 。
浏览器支持是另一回事。
最得到广泛支持的非标准媒体类型是文本/json或文本/javascript。 但有些大名甚至使用文本/平方。
更奇怪的是Flickr发来的“内容-类”头条, 他将JSON回回为文本/xml。 Google使用文本/插件来描述其中的ajax apis。
实例:
curl -I "https://ajax.googleapis.com/ajax/services/search/video?v=1.0&q=jsonexample"
产出:内容-类型:文本/插图
curl -I "https://www.flickr.com/services/rest/?method=flickr.test.echo&format=json&api_key=f82254c1491d894f1204d8408f645a93"
产出:内容类型:文本/xml
正如其他许多人提到的那样,申请/json是正确答案。
但还没有被解释的是你提出的其他选择 意指什么
申请/申请前的实验 MIME 类型 : 申请/申请前的实验 MIME 类型 : 文本/ 标本 : 现在过时 。 您在使用 javascript 时应该使用 应用程序/ 标本 : 上述情况下的实验 MIME 类型 。 文本/ x- json : 申请/ json 正式注册前 JSON 的实验 MIME 类型 。
总的来说,只要您对内容类型有任何疑问,您就应该检查此链接