Es besteht kein Zweifel, dass application/json
ist die beste MIME Typ für eine JSON-Antwort.
Aber ich hatte einige Erfahrungen, bei denen ich die application/x-javascript
wegen einiger Komprimierungsprobleme. Meine Hosting-Umgebung ist Shared Hosting mit GoDaddy . Sie erlauben es mir nicht, die Serverkonfigurationen zu ändern. Ich hatte den folgenden Code zu meinem web.config
Datei zur Komprimierung von Antworten.
<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"/>
Auf diese Weise wurden die .aspx-Seiten mit g-zip komprimiert, die JSON-Antworten jedoch nicht. Ich fügte hinzu
<add mimeType="application/json" enabled="true"/>
in den Abschnitten über statische und dynamische Typen. Aber dies komprimiert JSON-Antworten überhaupt nicht.
Danach entfernte ich diesen neu hinzugefügten Typ und fügte
<add mimeType="application/x-javascript" enabled="true"/>
sowohl in den Abschnitten für statische als auch für dynamische Typen und änderte den Antworttyp in
.ashx (asynchroner Handler) zu
application/x-javascript
Und jetzt habe ich festgestellt, dass meine JSON-Antworten mit g-zip komprimiert wurden. Ich persönlich empfehle daher die Verwendung von
application/x-javascript
nur, wenn Sie Ihre JSON-Antworten auf einem Shared-Hosting-Umgebung . Weil Sie beim Shared Hosting nicht die Möglichkeit haben, die IIS Konfigurationen.