JSON (JavaScript Object Notation) und JSONP ("JSON with padding") sehr ähnlich zu sein scheinen und es daher sehr verwirrend sein kann, welchen MIME-Typ sie verwenden sollten. Obwohl die Formate ähnlich sind, gibt es einige feine Unterschiede zwischen ihnen.
Im Zweifelsfall habe ich also einen sehr einfachen Ansatz (der in den meisten Fällen gut funktioniert), nämlich das entsprechende RFC-Dokument zu prüfen.
JSON RFC 4627 (The application/json Media Type for JavaScript Object Notation (JSON)) ist eine Spezifikation des JSON-Formats. Sie besagt in Abschnitt 6, dass der MIME-Medientyp für JSON-Text
application/json.
JSONP JSONP ("JSON with padding") wird in einem Browser anders behandelt als JSON. JSONP wird wie ein reguläres JavaScript-Skript behandelt und sollte daher mit application/javascript,
der derzeitige offizielle MIME-Typ für JavaScript. In vielen Fällen jedoch, text/javascript
Der MIME-Typ ist ebenfalls geeignet.
Beachten Sie, dass text/javascript
wurde als veraltet gekennzeichnet durch RFC 4329 (Scripting Media Types) und es wird empfohlen, die application/javascript
Typ stattdessen. Aus Gründen der Vererbung, text/javascript
ist immer noch weit verbreitet und wird von allen Browsern unterstützt (was nicht immer der Fall ist bei application/javascript
MIME-Typ, insbesondere bei älteren Browsern).