Códigos de estado HTTP
Una respuesta HTTP comienza con un código de tres dígitos y una frase de razón breve. El primer dígito es el resumen completo: 1xx es provisional, 2xx tuvo éxito, 3xx apunta a otro lugar, 4xx culpa a la solicitud, 5xx culpa al servidor. Si recuerdas solo eso, puedes leer un registro que nunca has visto antes.
Las frases de razón aquí son las de los RFC, en inglés, porque es lo que viaja en el cable—un servidor envía "Not Found", no una traducción de ella, y una frase que buscas en un registro tiene que coincidir con los bytes que realmente se enviaron.
Las distinciones que causan problemas reales están dentro de las clases en lugar de entre ellas: 401 versus 403, 301 versus 308, y 502 versus 503 responden cada una una pregunta diferente sobre qué hacer a continuación, y cada una se usa rutinariamente para la otra.
1xx—Informativo
3Provisional: la respuesta no es final e sigue otra.
| Código | Frase de razón | Qué significa |
|---|---|---|
| 100 | Continue | Encabezados recibidos, sigue enviando el cuerpo. |
| 101 | Switching Protocols | Cambio de protocolos—el apretón de manos de WebSocket. |
| 103 | Early Hints | Sugerencias tempranas: precarga estos recursos mientras se prepara la respuesta real. |
2xx—Éxito
5La solicitud fue recibida, comprendida e aceptada.
| Código | Frase de razón | Qué significa |
|---|---|---|
| 200 | OK | Éxito, con un cuerpo. |
| 201 | Created | Creado.Debe llevar un encabezado Location apuntando al nuevo recurso. |
| 202 | Accepted | Aceptado para procesamiento, que aún no ha ocurrido. |
| 204 | No Content | Éxito, e deliberadamente sin cuerpo.La respuesta correcta a un DELETE, o a un guardado que no tiene nada que devolver. |
| 206 | Partial Content | Contenido parcial—la respuesta a una solicitud de Range. Descargas reanudables. |
3xx—Redirección
6El recurso está en otro lugar, o tu copia en caché aún es buena.
| Código | Frase de razón | Qué significa |
|---|---|---|
| 301 | Moved Permanently | Movido permanentemente. Actualiza tus enlaces; los cachés pueden mantener esto por siempre. |
| 302 | Found | Encontrado—una redirección temporal.Ampliamente implementado como cambiar el método a GET, que 307 arregla. |
| 303 | See Other | Ver otro: obtener el resultado con GET. La redirección después de un POST de formulario. |
| 304 | Not Modified | No modificado—tu copia en caché es actual. Enviado sin cuerpo. |
| 307 | Temporary Redirect | Redirección temporal, método e cuerpo preservados. |
| 308 | Permanent Redirect | Redirección permanente, método e cuerpo preservados. |
4xx—Error del cliente
14La solicitud es el problema. Repetirla sin cambios fallará de nuevo.
| Código | Frase de razón | Qué significa |
|---|---|---|
| 400 | Bad Request | El servidor no pudo analizar la solicitud en absoluto. |
| 401 | Unauthorized | No autenticado—el servidor no sabe quién eres.Nombrado Unauthorized, pero significa no autenticado. Debe incluir WWW-Authenticate. |
| 403 | Forbidden | Autenticado e aún no permitido. Mejores credenciales no ayudarán. |
| 404 | Not Found | Sin tal recurso, e el servidor no dirá si alguna vez lo hubo. |
| 405 | Method Not Allowed | Método incorrecto para esta URL.Debe listar los que funcionan en un encabezado Allow. |
| 406 | Not Acceptable | Nada disponible en un formato que tu encabezado Accept aceptará. |
| 409 | Conflict | Conflictos con el estado actual—una edición contra una versión antigua. |
| 410 | Gone | Desaparecido: existía e fue deliberadamente eliminado. Más fuerte que 404. |
| 413 | Content Too Large | El cuerpo es más grande que lo que el servidor acepta. |
| 415 | Unsupported Media Type | El servidor no maneja este Content-Type. |
| 418 | I'm a teapot | Soy una tetera. Una broma del April Fools' de 1998, permanentemente reservada. |
| 422 | Unprocessable Content | Analizado correctamente, contenidos inválidos—un campo faltante, un valor incorrecto. |
| 429 | Too Many Requests | Limitado por velocidad.Busca Retry-After antes de reintentar, e retrocede exponencialmente. |
| 451 | Unavailable For Legal Reasons | Bloqueado por razones legales. El número es una alusión a Fahrenheit 451. |
5xx—Error del servidor
6La solicitud puede estar bien. Estos son los que vale la pena reintentar.
| Código | Frase de razón | Qué significa |
|---|---|---|
| 500 | Internal Server Error | Un error no manejado en el servidor. Nada para arreglarte en tu lado. |
| 501 | Not Implemented | El servidor no implementa este método en absoluto. |
| 502 | Bad Gateway | Un proxy alcanzó el servidor ascendente e obtuvo algo inutilizable. |
| 503 | Service Unavailable | Deliberadamente no sirviendo—sobrecargado o en mantenimiento.El estado que debe llevar Retry-After. |
| 504 | Gateway Timeout | Un proxy se rindió esperando el servidor ascendente. |
| 505 | HTTP Version Not Supported | La versión HTTP en la solicitud no es soportada. |