それがJSON応答にapplication/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構成を変更できないためです。