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.
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.
| Prefijo | Descripción | Ejemplos |
|---|---|---|
| text/ | Contenido de texto legible por humanos | text/html, text/plain, text/css |
| image/ | Imágenes en cualquier formato | image/png, image/jpeg, image/svg+xml |
| application/ | Datos binarios o formatos de aplicación | application/json, application/pdf |
| audio/ | Archivos de audio | audio/mpeg, audio/wav, audio/ogg |
| video/ | Archivos de video | video/mp4, video/webm, video/ogg |
| multipart/ | Datos divididos en múltiples partes | multipart/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 Type | Uso | Nota |
|---|---|---|
| application/json | APIs REST, respuestas JSON | El más común en APIs modernas |
| application/x-www-form-urlencoded | Formularios HTML clásicos | key=value&key2=value2 codificado |
| multipart/form-data | Upload de archivos | Requerido para enviar archivos binarios |
| text/html | Páginas web | Respuestas HTML del servidor |
| text/plain | Texto sin formato | Logs, respuestas de texto simple |
| application/octet-stream | Descargas binarias genéricas | Cuando 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.
"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 →