Welchen MIME-Typ haben .mjs-Dateien?
Der MIME-Typ (Medientyp) für JavaScript-Modul-Dateien mit der Endung .mjs lautet text/javascript. Manchmal siehst du auch application/javascript. Derselbe Typ wird für .js verwendet. Die Endung .mjs kennzeichnet ES-Module in Node.js. Einige ältere Server kennen sie nicht und senden application/octet-stream, was Browser bei Modul-Skripten ablehnen – setze den Typ daher explizit.
Content-Type-Header
Content-Type: text/javascript; charset=utf-8
Textbasierte Typen sollten ein charset enthalten, damit der Browser die Zeichen korrekt dekodiert.
Serverkonfiguration
| Server | Konfiguration |
|---|---|
Nginx (mime.types oder types {}) | text/javascript mjs; |
Apache (.htaccess) | AddType text/javascript .mjs |
IIS (web.config) | <mimeMap fileExtension=".mjs" mimeType="text/javascript" /> |
| Node.js / Express | res.type('mjs') oder res.setHeader('Content-Type', 'text/javascript; charset=utf-8') |
| Amazon S3 | Setze Content-Type: text/javascript am Objekt (Metadaten) oder übergib --content-type text/javascript an aws s3 cp |
Sollten .mjs-Dateien komprimiert werden?
Ja. JavaScript-Module sind Text, daher spart das Aktivieren von gzip oder Brotli für text/javascript in der Regel 50–80 % der Übertragungsgröße. Achte darauf, 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 anhand der Dateiendung – was mit einer Antwort passiert: anzeigen, ausführen, abspielen oder herunterladen. Mit X-Content-Type-Options: nosniff werden Stylesheets und Skripte bei einem falschen Typ einfach blockiert. 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-Suche
Durchsuche alle gängigen Dateiendungen und MIME-Typen, mit sofort kopierbaren Content-Type-Headern.
Häufige Fragen
Welcher MIME-Typ gilt für .mjs?
text/javascript. Alternativ begegnet dir in der Praxis auch application/javascript.Wie setze ich den Content-Type für .mjs in Nginx?
text/javascript mjs; im Block types steht (meist in /etc/nginx/mime.types), und lade Nginx neu.