Welchen MIME-Typ haben .json-Dateien?
Der MIME-Typ (Medientyp) für JSON-Dateien mit der Endung .json lautet application/json. Manchmal siehst du auch text/json (obsolete). JSON ist immer UTF-8 (RFC 8259), daher ist ein charset-Parameter nicht nötig. APIs sollten diesen Typ senden, damit Clients und Browser den Inhalt als JSON parsen.
Content-Type-Header
Content-Type: application/json
Textbasierte Typen sollten ein charset enthalten, damit der Browser die Zeichen korrekt dekodiert.
Server-Konfiguration
| Server | Konfiguration |
|---|---|
Nginx (mime.types oder types {}) | application/json json; |
Apache (.htaccess) | AddType application/json .json |
IIS (web.config) | <mimeMap fileExtension=".json" mimeType="application/json" /> |
| Node.js / Express | res.type('json') oder res.setHeader('Content-Type', 'application/json') |
| Amazon S3 | Setze Content-Type: application/json am Objekt (Metadaten) oder übergib --content-type application/json an aws s3 cp |
Sollten .json-Dateien komprimiert werden?
Ja. JSON ist Text, daher spart das Aktivieren von gzip oder Brotli für application/json in der Regel 50–80 % der Übertragungsgröße. Stell sicher, dass die Kompressionsliste deines Servers diesen Typ enthält – prüfe das mit dem Website-Kompressionstest.
Warum der MIME-Typ wichtig ist
Browser entscheiden anhand des Content-Type-Headers, nicht der Dateiendung, ob eine Antwort angezeigt, ausgeführt, abgespielt oder heruntergeladen wird. Bei X-Content-Type-Options: nosniff führt ein falscher Typ dazu, dass Stylesheets und Skripte komplett blockiert werden. Bei Uploads solltest du dem vom Client gesendeten Typ nie vertrauen; prüfe stattdessen den Inhalt der Datei (ihre Magic Bytes) auf dem Server.
MIME-Typ nachschlagen
Durchsuche alle gängigen Dateiendungen und MIME-Typen, mit kopierfertigen Content-Type-Headern.
Häufige Fragen
Welchen MIME-Typ hat .json?
application/json. Alternativen, die man manchmal sieht: text/json (veraltet).Wie setze ich den Content-Type für .json in Nginx?
application/json json; im Block types steht (meist in /etc/nginx/mime.types), und lade Nginx neu.