web http mime content-type server browser dev-tech file-extensions

Guía de Referencia Completa de Tipos MIME y Content-Type

¿Qué es un tipo MIME y por qué es importante para los servidores web y navegadores? Una referencia completa a los Content-Types más comunes.

2026-04-11

Guía de referencia completa de tipos MIME y Content-Type

Cada vez que su navegador solicita un archivo a un servidor web, el servidor no solo envía los bits y bytes. También envía una "etiqueta" que le indica al navegador qué tipo de archivo es. Esta etiqueta se llama Tipo MIME (Multipurpose Internet Mail Extensions) y se envía a través del encabezado HTTP Content-Type.

Si el servidor envía el tipo MIME incorrecto, su navegador podría intentar descargar un video en lugar de reproducirlo, o podría negarse a ejecutar un script por razones de seguridad.


Tabla de referencia rápida: Tipos MIME comunes

Tipo MIME Extensión común Categoría Propósito
text/html .html, .htm Página Web Contenido de página web estándar
text/css .css Estilo Hojas de estilo en cascada (CSS)
application/javascript .js Lógica Scripts de aplicaciones web
application/json .json Datos Datos estructurados para API
application/xml .xml Datos Lenguaje de marcado extensible (XML)
text/csv .csv Datos Valores separados por comas (CSV)
image/webp .webp Medios Formato de imagen comprimido moderno
image/avif .avif Medios Formato de imagen de alta eficiencia
font/woff2 .woff2 Fuente Formato de fuente web moderno
application/wasm .wasm Compilado Código binario WebAssembly
application/octet-stream .bin, .exe Binario Datos binarios genéricos (normalmente activa la descarga)
multipart/form-data N/A Carga Usado para enviar formularios con carga de archivos

1. Datos estructurados y API

Las aplicaciones web modernas dependen en gran medida de estos tipos para intercambiar información entre el frontend y el backend.

  • application/json: El estándar de la industria para las API REST. Es ligero y compatible de forma nativa con JavaScript.
  • application/xml: Un formato más antiguo pero más potente que admite esquemas personalizados y validación compleja.
  • text/csv: Se utiliza frecuentemente para exportar grandes conjuntos de datos desde bases de datos o hojas de cálculo.

2. Medios y activos

Para garantizar tiempos de carga rápidos, los servidores deben identificar correctamente los formatos de medios modernos de alta compresión.

  • image/webp & image/avif: Estos formatos modernos ofrecen una compresión mucho mejor que JPEG o PNG. Si su servidor no envía el tipo MIME correcto, es posible que el navegador no represente la imagen correctamente.
  • font/woff2: Esencial para la tipografía web. El tipo MIME correcto garantiza que el navegador pueda descomprimir la fuente rápidamente.

3. Datos especializados y binarios

  • application/wasm: Esto es necesario para que WebAssembly funcione. Los navegadores son muy estrictos: a menudo se negarán a compilar un módulo WASM si el servidor no envía explícitamente el Content-Type application/wasm.
  • application/octet-stream: Este es el "comodín" para los datos binarios. Si un servidor no sabe qué es un archivo, generalmente usa este por defecto. Los navegadores tratan esto como una señal para descargar el archivo en lugar de intentar mostrarlo.

4. Formularios y cargas

Cuando envía un formulario en un sitio web, el navegador utiliza un tipo MIME específico para codificar su entrada.

  • application/x-www-form-urlencoded: El valor predeterminado para formularios simples basados en texto. Se parece a una cadena de consulta de URL (nombre=Juan&edad=30).
  • multipart/form-data: Esto es necesario cuando su formulario incluye una carga de archivo. Permite al navegador enviar diferentes tipos de datos (texto y archivos binarios) en una sola solicitud, separados por "límites" (boundaries).

Cómo comprobar el tipo MIME de un archivo

  • En el navegador: Abra DevTools -> pestaña Network. Haga clic en una solicitud y busque "Content-Type" en la sección Response Headers.
  • En Linux / macOS: Use el comando file con la bandera --mime-type:
    file --mime-type -b mi-imagen.webp
    # Salida: image/webp
    

Preguntas frecuentes (FAQ)

P: ¿Qué sucede si un servidor envía el Content-Type incorrecto?

R: Los navegadores a menudo realizan "MIME Sniffing" para intentar adivinar el tipo correcto. Sin embargo, por razones de seguridad (como la protección contra XSS), los navegadores modernos se están volviendo mucho más estrictos. Si se envía un script con text/plain en lugar de application/javascript, la mayoría de los navegadores se negarán a ejecutarlo.

P: ¿Es application/javascript el único tipo correcto para los archivos JS?

R: Históricamente, se utilizaba text/javascript o application/x-javascript. Si bien application/javascript fue una vez la recomendación formal, el estándar más reciente ha vuelto a preferir text/javascript. La mayoría de los servidores y navegadores manejan ambos sin problemas.

P: ¿Por qué recibo un error "No 'Content-Type' header"?

R: Esto significa que el servidor no proporcionó ninguna información sobre el tipo de archivo. Los navegadores generalmente usarán por defecto text/plain o application/octet-stream, lo que podría causar que su página se represente incorrectamente o active una descarga no deseada.


Herramientas relacionadas en Tool3M