Quel est le type MIME des fichiers .mjs ?
Le type MIME (type de média) des fichiers module JavaScript portant l’extension .mjs est text/javascript. Vous pouvez aussi rencontrer application/javascript. Le même type est utilisé pour .js. L’extension .mjs identifie les modules ES dans Node.js. Certains anciens serveurs ne la connaissent pas et envoient application/octet-stream, que les navigateurs refusent pour les scripts de type module : déclarez le type explicitement.
En-tête Content-Type
Content-Type: text/javascript; charset=utf-8
Les types basés sur du texte doivent inclure un charset afin que le navigateur décode correctement les caractères.
Configuration du serveur
| Serveur | Configuration |
|---|---|
Nginx (mime.types ou 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') ou res.setHeader('Content-Type', 'text/javascript; charset=utf-8') |
| Amazon S3 | Définissez Content-Type: text/javascript sur l’objet (métadonnées), ou transmettez --content-type text/javascript à aws s3 cp |
Faut-il compresser les fichiers .mjs ?
Oui. Le module JavaScript est du texte : activer gzip ou Brotli pour text/javascript permet généralement de réduire la taille du transfert de 50 à 80 %. Vérifiez que la liste de compression de votre serveur inclut ce type, avec le test de compression de site web.
Pourquoi le type MIME est important
Les navigateurs décident de ce qu’il faut faire d’une réponse (afficher, exécuter, lire ou télécharger) d’après l’en-tête Content-Type, et non d’après l’extension du fichier. Avec X-Content-Type-Options: nosniff, un mauvais type entraîne le blocage pur et simple des feuilles de style et des scripts. Pour les envois de fichiers, ne faites jamais confiance au type transmis par le client ; vérifiez plutôt le contenu du fichier (ses octets magiques) côté serveur.
Recherche de types MIME
Recherchez toutes les extensions de fichiers et tous les types MIME courants, avec des en-têtes Content-Type prêts à copier.
Questions fréquentes
Quel est le type MIME de .mjs ?
text/javascript. Autre valeur rencontrée : application/javascript.Comment définir le Content-Type de .mjs dans Nginx ?
text/javascript mjs; figure dans le bloc types (généralement dans /etc/nginx/mime.types), puis rechargez Nginx.