有许多“标准”为“标准”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类型?


当前回答

JSON是一个域内特定语言(DSL)和独立于 JavaScript 的数据格式,因此具有自己的米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米类型,application/json尊重MIME类型当然是由客户驱动的,所以text/plain可能是为了传输字节, 但你会不必要地把解释 推到供应商申请域application/json。您是否会通过text/plain?

但说实话,你选择MIME类型 是建议客户 如何解读数据text/plaintext/HTML(当它不是 HTML ) 就像类型擦除—— 它和用打印语言制作所有类型对象一样没有信息规范。

我知道没有浏览器运行时间会使用 JSON 文档, 并自动在运行时作为 JavaScript 无障碍对象自动提供, 无需干预, 但如果你和一个残废的客户合作, 那完全是另一回事。 但这不是整个故事-休息时间JSON服务通常没有 JavaScript 运行时, 但是它并不阻止他们使用JSON作为可行的数据交换格式。 如果客户是那么残废的话... 那么我想也许通过 HTML 注射阿贾克斯代替为诱惑服务。

申请/JSON!

其他回答

毫无疑问,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配置。

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

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

IANA 亚非那JSON 正式注册的 MIME 类型为 JSONapplication/json.

当被问及为何不问时text/jsonCrockford似乎已经说Jsonon其实不是 JavaScript 或文本,application/*大于text/*.

更多资源:

  • Content-Type: application/json-杰森
  • Content-Type: application/javascript - 杰森-普
  • Content-Type: application/x-javascript - JavaScript
  • Content-Type: text/javascript - JavaScript 但是,但用于 HTML 属性的旧的因特网探索者版本。
  • Content-Type: text/x-javascript- JavaScript媒体类型,但是,但过时
  • Content-Type: text/x-json- 曾经杰森申请/日文正式注册。

对于JSON,我使用:

Content-Type: application/json

国际贸易贸易工作组JSON数据交换格式7158提案对此作了说明,第1.2节:JSON的规格.