协慌网

登录 贡献 社区

应该如何正确设置 JSON content-type?

1
88250
贡献值 489
贡献次数 1

我用 JSON 有一段时间了,只是把它作为文本类型使用,现在我想更恰当地设置它的 content type。

我发现 JSON 的 content type 有非常多所谓的 “标准”:

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

呃,到底哪个是最适合的呢?我想它们之间可能存在安全性以及浏览器支持不同吧。

有一个类似的问题, REST API 返回 JSON 应该如何设置 MIME type,但我想要一个针对 content type 的答案。

答案

2
88250
贡献值 201
贡献次数 2

对于 JSON 文本应该使用:

application/json

JSON 文本的 MIME type 是application/json 。默认编码为 UTF-8。 (来源: RFC 4627 )。

对于带回调的 JSONP(可运行的 javascript)应该使用:

application/javascript

以下是相关评论中提到的一些博客文章。

IANA已将 JSON 的官方 MIME 类型注册为application/json

当被问及为什么不是text/json ,Crockford 似乎说 JSON 不是真正的 JavaScript 也不是文本,而且 IANA 更有可能分发application/*不是text/*

更多资源:

对于 JSON:

Content-Type: application/json

对于JSON-P

Content-Type: application/javascript