Quel est le type MIME des fichiers .js ?
Le type MIME (type de média) des fichiers JavaScript ayant l’extension .js est text/javascript. Vous rencontrerez aussi application/javascript. Le même type est utilisé pour .mjs. La RFC 9239 (2022) a fait de text/javascript le type officiel ; application/javascript reste accepté partout. Les modules ES chargés avec <script type="module"> doivent être servis avec un type MIME JavaScript, sinon le navigateur les bloque.
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 js; |
Apache (.htaccess) | AddType text/javascript .js |
IIS (web.config) | <mimeMap fileExtension=".js" mimeType="text/javascript" /> |
| Node.js / Express | res.type('js') 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 .js ?
Oui. JavaScript est du texte : activer gzip ou Brotli pour text/javascript réduit généralement la taille transférée 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) à partir de l’en-tête Content-Type, et non de 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 pour .js ?
text/javascript. Autre valeur rencontrée : application/javascript.Comment définir le Content-Type pour .js dans Nginx ?
text/javascript js; figure dans le bloc types (généralement dans /etc/nginx/mime.types), puis rechargez Nginx.