application/json
application/x-javascript
text/javascript
text/x-javascript
text/x-json
我用哪一种,在哪里?我假设安全和浏览器支持问题是一个因素。
application/json
application/x-javascript
text/javascript
text/x-javascript
text/x-json
我用哪一种,在哪里?我假设安全和浏览器支持问题是一个因素。
JSON 文本:
application/json
JSON 文本的 MIME 媒体类型是
application/json
。默认编码为 UTF-8。(资料来源:RFC 4627)
用于贾索普(可调回 JavaScript) 调回 :
application/javascript
以下是相关评论中提到的一些博客文章:
当然,对JSON来说正确的MIME媒体类型是application/json
,但有必要了解在您的应用程序中预期会收到何种类型的数据。
例如,我使用Ext GWT 离 GWT服务器响应必须以文本/ html但包含JSON的数据。
客户端, Ext GWT 窗体收听器
uploadForm.getForm().addListener(new FormListenerAdapter()
{
@Override
public void onActionFailed(Form form, int httpStatus, String responseText)
{
MessageBox.alert("Error");
}
@Override
public void onActionComplete(Form form, int httpStatus, String responseText)
{
MessageBox.alert("Success");
}
});
使用申请/日文响应类型,浏览器建议我保存文件。
服务器侧端源代码片断使用春春MVC
return new AbstractUrlBasedView()
{
@SuppressWarnings("unchecked")
@Override
protected void renderMergedOutputModel(Map model, HttpServletRequest request,
HttpServletResponse response) throws Exception
{
response.setContentType("text/html");
response.getWriter().write(json);
}
};
IANA 亚非那JSON 正式注册的 MIME 类型为 JSONapplication/json
.
当被问及为何不问时text/json
Crockford似乎已经说Jsonon其实不是 JavaScript 或文本,application/*
大于text/*
.
更多资源:
如果您使用 Ubuntu 或 Debian 或 Debian , 通过 Apache 服务于 .json 文件, 您可能需要以正确内容类型服务文件。 我这样做主要是因为我想使用 Firefox 扩展名Json View 吉森(Jsson View )
Apache 模块调制(_mime)将会帮助您轻松完成此操作 。 但是, 您需要用 Ubuntu 来编辑文件/eec/mime.类型添加一行
application/json json
然后重新启动 Apache :
sudo service apache2 restart
并非所有内容都适合内容类型application/json
.
如果您正在使用Ext JS向上传文件提交窗窗窗后,请注意服务器响应由浏览器解析,以创建文档<iframe>
.
如果服务器正在使用 JSson 发送返回对象, 那么Content-Type
必须设置为text/html
以便告诉浏览器将未改变的文字插入文档正文。
仅在使用时application/json
作为米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米(截至2011年11月,有最新版本的Chrome、Firefox和火虫):
JSON 的正确内容类型是application/json
除非你们在使用贾索普,也称为 Json with Padding, 实际上是 JavaScript, 所以正确的内容类型将是application/javascript
.
毫无疑问,application/json
是最好的米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米JSON 响应类型。
但我有一些经验 在那里我不得不使用application/x-javascript
由于某些压缩问题,我的托管环境与戈地( GoDadd)。他们不允许我更改服务器配置。web.config
压缩回复文件 。
<httpCompression>
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/>
<dynamicTypes>
<add mimeType="text/*" enabled="true"/>
<add mimeType="message/*" enabled="true"/>
<add mimeType="application/javascript" enabled="true"/>
<add mimeType="*/*" enabled="false"/>
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true"/>
<add mimeType="message/*" enabled="true"/>
<add mimeType="application/javascript" enabled="true"/>
<add mimeType="*/*" enabled="false"/>
</staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" doDynamicCompression="true"/>
通过使用这个, . aspx 页面被压缩为 g- zip, 但 JSON 没有回应 。 我添加了 。
<add mimeType="application/json" enabled="true"/>
在静态和动态类型区域中。但这并不压缩JSON的反应。
在那之后,我删除了这个新添加的类型,并添加了
<add mimeType="application/x-javascript" enabled="true"/>
在静态和动态两种类型的章节中都采用静态和动态两种类型,并更改了
.ashx (非同步处理器) to
application/x-javascript
现在我发现我的JSON反应 压缩了G-zip。所以我个人建议使用
application/x-javascript
只有在您想要压缩 JSON 回应 a共享托管环境。因为在共享主机中,它们不允许您更改IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS配置。
如果您在客户端环境中, 调查交叉浏览器支持是强制的, 对于一个支持良好的网络应用程序来说 。
正确的 HTTP 内容类型application/json
,正如其他人也已经强调过, 但有些客户对它处理得不好, 这就是为什么jQuery建议默认text/html
.
JSON是一个域内特定语言(DSL)和独立于 JavaScript 的数据格式,因此具有自己的米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米类型,application/json
尊重MIME类型当然是由客户驱动的,所以text/plain
可能是为了传输字节, 但你会不必要地把解释 推到供应商申请域application/json
。您是否会通过text/plain
?
但说实话,你选择MIME类型 是建议客户 如何解读数据text/plain
或text/HTML
(当它不是 HTML ) 就像类型擦除—— 它和用打印语言制作所有类型对象一样没有信息规范。
我知道没有浏览器运行时间会使用 JSON 文档, 并自动在运行时作为 JavaScript 无障碍对象自动提供, 无需干预, 但如果你和一个残废的客户合作, 那完全是另一回事。 但这不是整个故事-休息时间JSON服务通常没有 JavaScript 运行时, 但是它并不阻止他们使用JSON作为可行的数据交换格式。 如果客户是那么残废的话... 那么我想也许通过 HTML 注射阿贾克斯代替为诱惑服务。
申请/JSON!
内JSP JSP,您可以在页面指令中使用此指令:
<%@ page language="java" contentType="application/json; charset=UTF-8"
pageEncoding="UTF-8"%>
正确无误米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米JSON 是application/json
JSP将使用它向客户发送回复。
“application/json
”是正确的JSON内容类型。
def ajaxFindSystems = {
def result = Systems.list()
render(contentType:'application/json') {
results {
result.each{sys->
system(id:sys.id, name:sys.name)
}
}
resultset (rows:result.size())
}
}
根据在 URL 中传递的查询参数, 回复是动态生成的数据 。
示例:
{ "Name": "Foo", "Id": 1234, "Rank": 7 }
内容类型 : application/json
JSON用垫子。回应是 JSON数据, 并有一个功能电话围绕它。
示例:
functionCall({"Name": "Foo", "Id": 1234, "Rank": 7});
内容类型 : application/javascript
正如许多其他人已经提到的那样,application/json
是正确答案。
但还没有被解释的是你提出的其他选择 意指什么
application/x-javascript
: JavaScript 以前 JavaScript 的实验 MIME 类型application/javascript
成为标准。
text/javascript
:现在过时。你应该使用application/javascript
当使用 Javaramps 时。
text/x-javascript
:上述情况下的实验性MIME类型。
text/x-json
JSON 之前的实验 MIME 类型application/json
正式注册。
总的来说,当你对内容类型有任何疑问时,你应该检查此链接
正确的 MIME 类型是application/json
但是
我经历过许多浏览器类型或框架用户需要的场景:
text/html
application/javascript
如果JSON是用垫子垫着的,那它就是application/jsonp
如果JSson没有踏板,那它就会是application/json
.
要同时处理这两种问题,使用“应用/刺杀”是一种良好做法,无需担心是用垫子还是不用垫子。
缩略内容类型标题应该设置为 '申请/日文收听请求的服务器应包含 "接受=申请/json"在春季MVC中,你可以这样做:
@RequestMapping(value="location", method = RequestMethod.POST, headers = "Accept=application/json")
回复中的添加页眉 :
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "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/json
或text/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
PHP 开发商使用此功能 :
<?php
header("Content-type: application/json");
// Do something here...
?>
缩略
application/json
PHP 中保存数组或对象数据的工作非常出色 。
我用这个代码把数据输入JSONGoogle Cloud 储存(GCS)设定了可公开观看:
$context = stream_context_create([
'gs' => [
'acl'=>'public-read',
'Content-Type' => 'application/json',
]
]);
file_put_contents(
"gs://BUCKETNAME/FILENAME.json",
json_encode((object) $array),
false,
$context
);
要返回数据是直线前进的:
$data = json_decode(file_get_contents("gs://BUCKETNAME/FILENAME.json"));
扩大被接受的答复, 当你使用JSON 在REST背景下...
有一个强力论据关于使用application/x-resource+json
和application/x-collection+json
当时,你们是代表最高科技委员会的资源和收藏的。
如果你决定遵循jsonapi 计数器具体说明,您应该使用技术的application/vnd.api+json
正如文件所记载的那样。
虽然不存在普遍标准,但显然,在所转让资源中增加的语义显然证明有必要更明确地说明内容类型不只是application/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) Json(JavaScript 对象注释)和贾索普格式似乎非常相似,因此可能非常混淆它们应该使用哪种MIME类型。尽管格式相似,但两者之间有一些微妙的差别。
因此,每当有任何疑问时,我有一个非常简单的方法(在多数情况下完全正常),即去检查相应的RFC文件。
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 RFC 4627(JavaScript 对象标记(JSON)的应用/json媒体类型)是JSON格式的规格。
application/json.
贾索普JSONP (“有垫板的JSson”) 在一个浏览器中处理的方式不同于 JSson 。 JSONP 被当作普通 JavaScript 脚本处理, 因此它应该使用application/javascript,
JavaScript 的当前正式 MIME 类型。 但是,在许多情况下,text/javascript
MIME型也不错
请注意text/javascript
被标记为过时的RFC 4329(媒体类型)文档,建议使用application/javascript
类型。然而,由于遗留原因,text/javascript
它仍然被广泛广泛使用,并有交叉浏览器支持(这并不总是在application/javascript
MIME类型,特别是使用较老的浏览器)。
如果从JSON的REST API获得数据,必须使用内容类型:
为具体说明有趣的JSON结果,请在请求页眉中加入“申请/json”,如下文所示:
“接受:申请/json”是一种理想的反应格式。
“Cententent-Type: application/json”指定了您请求的内容格式,但有时您指定了两种格式application/json
和application/xml
,但是这些功能的质量可能不同。哪个服务器会发送不同的响应格式,请参见以下示例:
Accept:application/json;q=0.4,application/xml;q=8
这将返回 XML, 因为 XML 质量更高 。
目前的适当标准是application/json
。默认编码是 UTF-8,但值得一提的是,它也可以是 UTF-16 或 UTF-32. 当 JSON 以 UTF-16 或 UTF-32 书写时,必须使用二进制内容转移编码。
有关JSON在RFC 4627: JavaScript 对象标记(JSON)的应用/json媒体类型
有关二进制传输编码的更多信息正在打开5. 内容转让-编码信头字段(RRC 1341)。
为补充先前的答复,JSON 链接数据的MIME类型(JSON-LD)以 W3C 计算是:
application/ld+json
类型名称 :应用
子类型名称 :Ld+json 键盘
此外,来自同一来源的:
文件扩展名:
.jsonld
Content-Type: application/json
-杰森Content-Type: application/javascript
- 杰森-普Content-Type: application/x-javascript
- JavaScriptContent-Type: text/javascript
- JavaScript 但是,但用于 HTML 属性的旧的因特网探索者版本。Content-Type: text/x-javascript
- JavaScript媒体类型,但是,但过时Content-Type: text/x-json
- 曾经杰森申请/日文正式注册。由于你可能必须更经常地使用这些内容,即使有,也总是尽量记住这三种内容类型。许多内容类型:
你的问题的一部分 跟我有关 当我刚刚看到它。
第三方供应商正在提供一种供多个客户使用的REST服务。 它是一个直向前方的REST, 配有查询参数, 返回一个完善的JSON。 我用 PHP 和 Java 测试了它的工作原理。
我的客户用甲骨服务公交车作为他的应用程序服务器和互联网之间的通道。Invalid message format
错误。结果发现content-type
返回时text/html
OSB 将回复按此信头处理; 在文本、 XML 和 JSON 之间转换。 在此情况下, 回复是 JSON , 但信头没有这么说 。 联系提供者后, 我得到回复 : “ 我们不会改变它, 因为不会影响其他人 ” 。
缩略Content-Type
标题标题指定内容应:# # # 而不是什么 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #实际。这就是说,在您的消费程序中,您可以检查或忽略它,并以任何方式处理内容。另一个例子是,您可以返回 GIF 数据,但指定内容类型为 JSON,然后去忽略信头,读取图像数据。这不会伤害您的程序,但可能会伤害其他人。
故事的道德感:好好表现。
作为一些研究,
最常见的MIME类型是
申请/日文
让我们举个例子来区分杰森和爪哇史克里普特
当不知道该数据将如何使用时,即使用该数据。当信息仅以 JSON 格式从服务器中提取时,它可以通过链接或任何文件(如果是的话)来使用。
比如说...
<?php
header('Content-type:application/json');
$directory = [
['Id' => 1, 'Name' => 'this'],
['Id' => 2, 'Name' => 'is'],
['Id' => 3, 'Name' => 'Stack Overflow'],
];
// Showing the JSON data
echo json_encode($directory);
?>
产出是,
[{"Id":1, "Name":"this"}, {"Id":2, "Name":"is"}, {"Id":3, "Name":"Stack Overflow"}]
在预先定义数据使用时使用该数据,在客户端 Ajax 应用程序调用时使用该数据,在JSON-P型或JSON-P型数据时使用该数据。贾索普.
例如,例如
<?php
header('Content-type:application/javascript');
$dir = [
['Id' => 1, 'Name' => 'this' ],
['Id' => 2, 'Name' => 'is'],
['Id' => 3, 'Name' => 'Stack Overflow'],
];
echo "Function_call(" . json_encode($dir) . ");";
?>
产出是,
Function_call([{"Id":1, "Name":"this"}, {"Id":2, "Name":"is"}, {"Id":3, "Name":"Stack Overflow"}])
关于其他MIME类型,请参看MIME类型(亚马尼亚州媒体类型).
这取决于观点。
如果您是寄件请求的客户端,application/json
是正确的选择。
但如果您是收到请求的服务器, 您必须做好准备, 客户端也可以发送编码 。 因此, 请准备 。application/json
和application/json; charset=utf-8
有效。
两种情况下媒体类型相同。 但内容类型不同 。
最常见的MIME 类型这是应用程序/json。 这是所有 JSON 内容类型的列表 :
Content-Type: application/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) JsonContent-Type: text/x-json
- 曾经杰森申请/日文正式注册。Content-Type: application/javascript
- 杰森-普Content-Type: application/x-javascript
- JavaScript过时类型 :
Content-Type: text/javascript
- JavaScript 但是,但用于 HTML 属性的旧的因特网探索者版本。Content-Type: text/x-javascript
- JavaScript媒体类型,但是,但过时