Tipo MIME .mjs: text/javascript

Los archivos que terminan en .mjs (módulo JavaScript) usan el tipo MIME text/javascript.

Actualizado el

text/javascript
Tipo MIME para .mjs
Web
Categoría
Sí
Comprimir con gzip/Brotli

¿Cuál es el tipo MIME de los archivos .mjs?

El tipo MIME (tipo de medio) de los archivos de módulo JavaScript con la extensión .mjs es text/javascript. También puede que veas application/javascript. El mismo tipo se usa para .js. La extensión .mjs marca los módulos ES en Node.js. Algunos servidores antiguos no la reconocen y envían application/octet-stream, que los navegadores rechazan en scripts de módulo; añade el tipo explícitamente.

Cabecera Content-Type

Content-Type: text/javascript; charset=utf-8

Los tipos basados en texto deben incluir un charset para que el navegador decodifique los caracteres correctamente.

Configuración del servidor

ServidorConfiguración
Nginx (mime.types o types {})text/javascript mjs;
Apache (.htaccess)AddType text/javascript .mjs
IIS (web.config)<mimeMap fileExtension=".mjs" mimeType="text/javascript" />
Node.js / Expressres.type('mjs') o res.setHeader('Content-Type', 'text/javascript; charset=utf-8')
Amazon S3Establece Content-Type: text/javascript en el objeto (metadatos), o pasa --content-type text/javascript a aws s3 cp

¿Deben comprimirse los archivos .mjs?

Sí. El módulo JavaScript es texto, así que activar gzip o Brotli para text/javascript normalmente ahorra entre un 50–80 % del tamaño de transferencia. Asegúrate de que la lista de compresión de tu servidor incluya este tipo; compruébalo con el test de compresión de sitios web.

Por qué importa el tipo MIME

Los navegadores deciden qué hacer con una respuesta (renderizar, ejecutar, reproducir o descargar) según la cabecera Content-Type, no según la extensión del archivo. Con X-Content-Type-Options: nosniff, un tipo incorrecto hace que las hojas de estilo y los scripts se bloqueen directamente. En las subidas de archivos, nunca confíes en el tipo que envía el cliente; comprueba el contenido del archivo (sus magic bytes) en el servidor.

Preguntas frecuentes

¿Cuál es el tipo MIME de .mjs?
text/javascript. Otra alternativa que se ve en la práctica: application/javascript.
¿Cómo configuro el Content-Type de .mjs en Nginx?
Asegúrate de que text/javascript mjs; esté en el bloque types (normalmente en /etc/nginx/mime.types) y recarga Nginx.
¿Debo comprimir los archivos .mjs con gzip?
Sí, este formato se comprime muy bien, así que añádelo a tu configuración de gzip/Brotli.