Códigos de estado HTTP
Consulta qué significa un código de estado HTTP y resuelve las parejas que más se confunden: 401 o 403, 301 o 308, 400 o 422.
Busca por cualquiera de los dos lados.
46 códigos
| Código | Motivo | Cuándo usarlo |
|---|---|---|
| 100 | Continue | |
| 101 | Switching Protocols | Se usa al pasar a WebSocket. |
| 103 | Early Hints | Envía pistas de precarga antes de que la respuesta real esté lista. |
| 200 | OK | El valor por defecto de una petición correcta. |
| 201 | Created | Existe un recurso nuevo. Apúntalo con una cabecera Location. |
| 202 | Accepted | Encolado, no terminado. Quien llama debe volver a comprobarlo. |
| 204 | No Content | Éxito sin nada que devolver. Un cuerpo aquí se ignora. |
| 206 | Partial Content | Un tramo del archivo, en respuesta a una cabecera Range. |
| 301 | Moved Permanently | Traslado permanente. El cliente puede cambiar el método a GET. |
| 302 | Found | Temporal. También puede cambiar el método a GET. |
| 303 | See Other | Recoge el resultado en otro sitio, siempre con GET. |
| 304 | Not Modified | La copia en caché sigue valiendo. No se envía cuerpo. |
| 307 | Temporary Redirect | Como 302, pero conserva el método. |
| 308 | Permanent Redirect | Como 301, pero conserva el método. |
| 400 | Bad Request | La petición no se pudo entender en absoluto. |
| 401 | Unauthorized | Sin autenticar. Pese al nombre, va de identidad. |
| 402 | Payment Required | |
| 403 | Forbidden | Autenticado y aun así no permitido. |
| 404 | Not Found | No existe tal recurso, o el servidor no va a admitir que exista. |
| 405 | Method Not Allowed | La ruta existe; este verbo no. Lista los válidos en Allow. |
| 406 | Not Acceptable | No se puede producir ninguno de los formatos pedidos. |
| 408 | Request Timeout | |
| 409 | Conflict | Choca con el estado actual, por ejemplo una clave duplicada. |
| 410 | Gone | Borrado a propósito y no va a volver. |
| 411 | Length Required | |
| 412 | Precondition Failed | Una cabecera If-Match o If-None-Match no se cumplió. |
| 413 | Content Too Large | El cuerpo supera lo que el servidor acepta. |
| 414 | URI Too Long | |
| 415 | Unsupported Media Type | El Content-Type no es uno que este punto maneje. |
| 416 | Range Not Satisfiable | |
| 418 | I'm a teapot | Una broma del día de los inocentes de 1998. Sigue en el registro. |
| 422 | Unprocessable Content | Bien formado pero incorrecto: el código habitual para errores de validación. |
| 425 | Too Early | |
| 426 | Upgrade Required | |
| 428 | Precondition Required | |
| 429 | Too Many Requests | Límite de velocidad. Indica cuándo reintentar con Retry-After. |
| 431 | Request Header Fields Too Large | |
| 451 | Unavailable For Legal Reasons | Bloqueado por razones legales, como una orden de retirada. |
| 500 | Internal Server Error | Un fallo no gestionado. El cajón de sastre que nadie debería buscar. |
| 501 | Not Implemented | |
| 502 | Bad Gateway | Un servidor superior devolvió algo inválido. |
| 503 | Service Unavailable | Caído o saturado, y se espera que vuelva. |
| 504 | Gateway Timeout | Un servidor superior no respondió a tiempo. |
| 505 | HTTP Version Not Supported | |
| 507 | Insufficient Storage | |
| 511 | Network Authentication Required | Un portal cautivo quiere que inicies sesión primero. |
Parejas que se confunden
401403
401 significa que no sabemos quién eres. 403, que sí y la respuesta es no.
301308
301 deja que el cliente convierta un POST en GET. 308 conserva el método. Usa 308 en APIs.
302303
302 puede cambiar el método; 303 siempre pasa a GET. Usa 303 tras enviar un formulario.
400422
400 es para un cuerpo que el servidor no puede analizar. 422, para uno que analizó y rechazó.
404410
404 dice que no hay nada. 410 dice que se borró a propósito, así que deja de preguntar.
502503
502 significa que un servidor superior respondió con basura. 503, que este servidor no está sirviendo ahora.
Los archivos se procesan en tu navegador y nunca se suben a ningún servidor.
Cómo se usa
De uso gratuito, sin registro, sin instalación y sin límite de uso.
Escribe un número o parte de una frase de motivo para encontrar un código. La lista se estrecha mientras escribes y cada entrada indica cuándo es el correcto.
El primer dígito marca la clase: 1xx informativo, 2xx correcto, 3xx redirección, 4xx culpa de la petición, 5xx culpa del servidor. Un código que no esté en esta tabla te dice al menos eso.
La división 4xx / 5xx importa en la práctica. Devolver 500 ante una petición mal formada manda a quien esté de guardia a buscar un fallo de servidor que no existe, y devolver 400 ante un manejador caído esconde una caída real.
Las parejas de abajo son las que de verdad se discuten en revisión de código. 401 significa que no sabemos quién eres; 403 significa que sí y aun así no. Enviar 401 ante un problema de permisos invita al cliente a reintentar con unas credenciales que ya mandó.
Las frases de motivo se dejan como en la especificación y no se traducen, porque ese es el texto que viaja por la red.
Nada de lo que escribes se envía a un servidor. La tabla se consulta dentro de tu navegador.