毫无疑问,这application/json
是JSON响应的最佳MIME类型。
但是application/x-javascript
由于一些压缩问题,我不得不使用一些经验。我的托管环境是与GoDaddy共享的托管。它们不允许我更改服务器配置。我已将以下代码添加到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(异步处理程序)
application/x-javascript
现在,我发现我的JSON响应已使用g-zip压缩。所以我个人建议使用
application/x-javascript
仅当您要在共享托管环境上压缩JSON响应时。因为在共享主机中,它们不允许您更改IIS配置。