Tipo MIME de .js: text/javascript

Los archivos que terminan en .js (JavaScript) usan el tipo MIME text/javascript.

Actualizado el

text/javascript
Tipo MIME de .js
Web
Categoría
Sí
Comprimir con gzip/Brotli

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

El tipo MIME (tipo de medio) de los archivos JavaScript con la extensión .js es text/javascript. También puedes encontrar application/javascript. El mismo tipo se usa para .mjs. La RFC 9239 (2022) convirtió text/javascript en el tipo oficial; application/javascript sigue siendo aceptado en todas partes. Los módulos ES cargados con <script type="module"> deben servirse con un tipo MIME de JavaScript, o el navegador los bloqueará.

Cabecera Content-Type

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

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

Configuración del servidor

ServidorConfiguración
Nginx (mime.types o types {})text/javascript js;
Apache (.htaccess)AddType text/javascript .js
IIS (web.config)<mimeMap fileExtension=".js" mimeType="text/javascript" />
Node.js / Expressres.type('js') 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

¿Conviene comprimir los archivos .js?

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

Por qué importa el tipo MIME

Los navegadores deciden qué hacer con una respuesta (mostrarla, ejecutarla, reproducirla o descargarla) 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 te fíes del tipo que envía el cliente; comprueba el contenido del archivo (sus bytes mágicos) en el servidor.

Preguntas frecuentes

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