Cuando un servidor envía un archivo, el navegador necesita saber qué es. La cabecera Content-Type lleva esa información como un tipo MIME, también llamado tipo de medio.
Estructura
Un tipo MIME tiene la forma tipo/subtipo, opcionalmente seguida de parámetros:
text/html; charset=utf-8
El tipo de nivel superior da la categoría general: text, image, audio, video, application, font, multipart. El subtipo nombra el formato exacto.
Valores comunes
- text/html: páginas web.
- text/css: hojas de estilo.
- text/javascript: scripts.
- application/json: datos JSON.
- application/pdf: documentos PDF.
- application/zip: archivos ZIP.
- image/png, image/jpeg, image/webp, image/svg+xml: imágenes.
- audio/mpeg, video/mp4: medios.
- application/octet-stream: datos binarios genéricos sin tipo específico, que los navegadores suelen descargar.
Dónde aparece
- La cabecera de respuesta Content-Type en HTTP.
- La cabecera de solicitud Accept, donde un cliente lista los tipos que quiere.
- El atributo
typeen elementos HTML como<script>y<link>. - El atributo
acceptde los campos de archivo y elContent-Typede cada parte de una subida. - Los adjuntos de correo.
Charset
Para los tipos de texto, el parámetro charset indica al navegador cómo decodificar los bytes. UTF-8 es la opción estándar hoy.
Qué falla con el tipo equivocado
- Una hoja de estilos servida como text/plain se ignora en modo estricto.
- Un módulo de JavaScript servido con el tipo incorrecto no se carga.
- Una imagen enviada como application/octet-stream se descarga en lugar de mostrarse.
- Los tipos incorrectos en las subidas pueden saltarse una validación ingenua, así que los servidores deben inspeccionar el contenido del archivo y no fiarse solo de la cabecera o la extensión.
Detección del navegador
A veces los navegadores adivinan el tipo a partir del contenido. La cabecera X-Content-Type-Options: nosniff lo desactiva, lo que es un ajuste de seguridad recomendado.
Preguntas frecuentes
¿La extensión es lo mismo que el tipo MIME? No. La extensión es una convención de nombres, mientras que el tipo MIME es lo que usa el protocolo. Se relacionan mediante una tabla de consulta.
¿Dónde encuentro el tipo de una extensión? La herramienta de consulta los lista.

