Guía de herramienta

Cómo leer MIME Types

Qué son los tipos MIME, cómo se estructura el tipo/subtipo, las categorías principales y los más usados en APIs REST.

¿Qué es un tipo MIME?

Un MIME type (Multipurpose Internet Mail Extensions) identifica el formato de un archivo o dato. Se usa en el header Content-Type de HTTP para que el cliente sepa cómo interpretar la respuesta. Por ejemplo, cuando un servidor responde con Content-Type: application/json, el navegador sabe que debe parsear el body como JSON.

Estructura: tipo/subtipo

Un MIME type tiene dos partes separadas por una barra: el tipo general (categoría) y el subtipo (formato específico). Opcionalmente puede incluir parámetros adicionales después de un punto y coma.

application
categoría
/
json
formato específico
;
charset=utf-8
parámetro opcional

El parámetro charset=utf-8 indica que el texto usa codificación UTF-8

Categorías principales

El tipo general (antes del /) define la naturaleza del contenido.

PrefijoDescripciónEjemplos
text/Contenido de texto legible por humanostext/html, text/plain, text/css
image/Imágenes en cualquier formatoimage/png, image/jpeg, image/svg+xml
application/Datos binarios o formatos de aplicaciónapplication/json, application/pdf
audio/Archivos de audioaudio/mpeg, audio/wav, audio/ogg
video/Archivos de videovideo/mp4, video/webm, video/ogg
multipart/Datos divididos en múltiples partesmultipart/form-data, multipart/mixed

Los más usados en APIs

Estos son los tipos MIME que encontrarás con más frecuencia al trabajar con APIs REST y aplicaciones web.

MIME TypeUsoNota
application/jsonAPIs REST, respuestas JSONEl más común en APIs modernas
application/x-www-form-urlencodedFormularios HTML clásicoskey=value&key2=value2 codificado
multipart/form-dataUpload de archivosRequerido para enviar archivos binarios
text/htmlPáginas webRespuestas HTML del servidor
text/plainTexto sin formatoLogs, respuestas de texto simple
application/octet-streamDescargas binarias genéricasCuando el tipo es desconocido

En código

Cómo establecer y leer el Content-Type en fetch, leer el tipo de una respuesta y configurarlo en Node.js.

fetch, response y Node.js
"color:rgba(255,255,255,0.35)">// 1. Enviar Content-Type en una solicitud fetch
const response = await fetch("https:255,255,255,0.35)">//api.ejemplo.com/datos", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Accept": "application/json",
  },
  body: JSON.stringify({ nombre: "Juan", edad: 30 }),
});

"color:rgba(255,255,255,0.35)">// 2. Leer el Content-Type de una respuesta
const contentType = response.headers.get("Content-Type");
console.log(contentType); "color:rgba(255,255,255,0.35)">// "application/json; charset=utf-8"

"color:rgba(255,255,255,0.35)">// Verificar el tipo antes de parsear
if (contentType && contentType.includes("application/json")) {
  const data = await response.json();
} else if (contentType && contentType.startsWith("text/")) {
  const text = await response.text();
} else {
  const blob = await response.blob();
}

"color:rgba(255,255,255,0.35)">// 3. En Node.js — establecer Content-Type en la respuesta
const http = require("http");

const server = http.createServer((req, res) => {
  res.setHeader("Content-Type", "application/json; charset=utf-8");
  res.end(JSON.stringify({ mensaje: "Hola desde Node.js" }));
});

"color:rgba(255,255,255,0.35)">// Con Express.js
const express = require("express");
const app = express();

app.get("/datos", (req, res) => {
  "color:rgba(255,255,255,0.35)">// Express detecta el tipo automáticamente con res.json()
  res.json({ ok: true });
  "color:rgba(255,255,255,0.35)">// Equivalente a:
  "color:rgba(255,255,255,0.35)">// res.setHeader("Content-Type", "application/json");
  "color:rgba(255,255,255,0.35)">// res.send(JSON.stringify({ ok: true }));
});

"color:rgba(255,255,255,0.35)">// Leer el Content-Type del request entrante
app.post("/upload", (req, res) => {
  const contentType = req.get("Content-Type");
  console.log(contentType); "color:rgba(255,255,255,0.35)">// "multipart/form-data; boundary=----FormBoundary7MA4YW"
});

Herramienta relacionada

Referencia de MIME Types

Busca cualquier tipo MIME por nombre, extensión o descripción. Copia el tipo con un clic para usarlo en tu código.

Abrir referencia MIME Types →