Немає сумнівів, що application/json
це найкращий тип MIME для відповіді JSON.
Але у мене був певний досвід, де мені довелося скористатися 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 .