Type MIME .js : text/javascript

Les fichiers se terminant par .js (JavaScript) utilisent le type MIME text/javascript.

Mis à jour le

text/javascript
Type MIME pour .js
Web
Catégorie
Oui
Compression gzip/Brotli possible

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

ServeurConfiguration
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 / Expressres.type('js') ou res.setHeader('Content-Type', 'text/javascript; charset=utf-8')
Amazon S3Dé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.

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 ?
Vérifiez que text/javascript js; figure dans le bloc types (généralement dans /etc/nginx/mime.types), puis rechargez Nginx.
Faut-il compresser les fichiers .js avec gzip ?
Oui : ce format se compresse très bien, ajoutez donc le type à votre configuration gzip/Brotli.