Welchen MIME-Typ haben .js-Dateien?
Der MIME-Typ (Medientyp) für JavaScript-Dateien mit der Endung .js lautet text/javascript. Du siehst auch gelegentlich application/javascript. Derselbe Typ wird für .mjs verwendet. RFC 9239 (2022) hat text/javascript zum offiziellen Typ gemacht; application/javascript wird aber überall noch akzeptiert. ES-Module, die mit <script type="module"> geladen werden, müssen mit einem JavaScript-MIME-Typ ausgeliefert werden, sonst blockiert der Browser sie.
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 js; |
Apache (.htaccess) | AddType text/javascript .js |
IIS (web.config) | <mimeMap fileExtension=".js" mimeType="text/javascript" /> |
| Node.js / Express | res.type('js') 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 .js-Dateien komprimiert werden?
Ja. JavaScript ist Text, daher spart das Aktivieren von gzip oder Brotli für text/javascript in der Regel 50–80 % der übertragenen Datenmenge. Stell sicher, dass die Komprimierungsliste 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. 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, sondern den Inhalt der Datei (ihre Magic Bytes) auf dem Server prüfen.
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 .js?
text/javascript. Alternativ begegnet dir häufig: application/javascript.Wie setze ich den Content-Type für .js in Nginx?
text/javascript js; im Block types steht (meist in /etc/nginx/mime.types), und lade Nginx neu.