Códigos de estado HTTP
Busca por número o por nombre. Qué significa cada código y cuándo usarlo.
- Se ejecuta en tu navegador — tu texto no se envía a ningún sitio
- Sin registro, sin cuotas, gratis para usar tantas veces como quieras
Cómo funciona
La mayoría de los códigos de estado son obvios y unos pocos son realmente confusos, sobre todo los que suenan parecido. Escribe un número, una palabra como forbidden, o 4xx para ver toda una clase.
401 y 403, la pareja que todo el mundo confunde
401 Unauthorized en realidad significa no autenticado: el servidor no sabe quién eres, y enviar credenciales podría solucionarlo. 403 Forbidden significa que sabe exactamente quién eres y aun así no puedes. Los nombres son históricos y poco útiles; la distinción importa porque uno invita a iniciar sesión y el otro no.
301 frente a 302, y por qué importa para el SEO
301 es permanente y transfiere las señales de posicionamiento a la nueva dirección. 302 es temporal y las deja en la original. Usar 302 para un cambio permanente es un error común y discretamente costoso. 307 y 308 son los equivalentes modernos que además garantizan que el método no cambia: un POST sigue siendo un POST, algo que 301 y 302 históricamente no hacían.
422 para la validación
400 Bad Request significa que el servidor no pudo entender la solicitud en absoluto. 422 Unprocessable Content significa que la entendió perfectamente y que el contenido es incorrecto: un campo que falta, un correo no válido. La mayoría de las API deberían devolver 422 en los fallos de validación y devuelven 400 por costumbre.
Las clases
1xx informativos, 2xx éxito, 3xx redirección, 4xx culpa del cliente, 5xx culpa del servidor. Esa última división es la que conviene usar para repartir responsabilidades en un incidente: un pico de 4xx significa que quienes llaman hacen algo mal; un pico de 5xx significa que el fallo es tuyo.
418
I'm a teapot, nacido de una broma del Día de los Inocentes en 1998 y estandarizado después en serio, cuando un intento de eliminarlo de las implementaciones provocó una protesta. No es para uso real, y es una parte genuina de la especificación.
Códigos de estado HTTP: preguntas
¿Cuál es la diferencia entre 401 y 403?
401 significa no autenticado: el servidor no sabe quién eres. 403 significa que sí lo sabe y aun así no tienes permiso.
¿Debería usar 301 o 302?
301 para un cambio permanente, que transfiere el posicionamiento. 302 para uno temporal. Usa 308 y 307 si el método HTTP no debe cambiar.
¿Qué código debería devolver un error de validación?
422 Unprocessable Content. 400 significa que la solicitud no se pudo entender en absoluto.
¿Es real el 418?
Sí. Empezó como una broma del Día de los Inocentes de 1998 y está realmente estandarizado, aunque no para un uso real.
¿Qué significa 502?
Un proxy recibió una respuesta no válida del servidor que tiene detrás; normalmente la aplicación está caída o falla.