"El buen diseño es obvio. El gran diseño es transparente"
- Joe Sparano

Tabla de códigos de estado HTTP

5 minutos de lectura
Fecha: 1/7/2020

Una tabla de códigos de estado HTTP siempre hace falta, aqui tienes una bastante completa por si alguno de los códigos no te suenan o por si quieres saber cual es el mas adecuado enviar

1×× Informativo

CódigoEstadoDescripción
100ContinueEl servidor recibe la parte inicial de la solicitud, la da por buena y tiene intención de responder cuando la tenga toda
101Switching ProtocolsEl servidor asume y acepta que quieres cambiar el protocolo de esta petición, por ejemplo cuando usas un socket
102ProcessingEste código te lo da cuando ya ha recibido toda la solicitud, la da por buena y tiene intención de responder cuando el servidor acabe de procesarla

2×× Éxito

CódigoEstadoDescripción
200OKLa solicitud se ha completado con éxito
201CreatedLa solicitud se ha completado con éxito y además ha generado nuevos recursos
202AcceptedLa solicitud ha sido aceptada, lo que no implica que vaya a aceptarse, pues podria ser rechazada cuando el servidor la procese
203Non-authoritative InformationLa solicitud se ha completado con éxito, pero la respuesta ha sido modificada por un proxy (No viene tal cual salió del servidor), a efectos prácticos es similar al código 214
204No ContentLa solicitud se ha completado con éxito, pero no hay contenido en el cuerpo de la respuesta
205Reset ContentLa solicitud se ha completado con éxito, y solicita al usuario que recargue el contenido
206Partial ContentLa solicitud se ha completado con éxito, pero solo te va a devolver parte del recurso solicitado (Generalmente pasa porque hay una limitación en el cliente que no permite mandarla entera)
207Multi-StatusEn esta caso esta devolviendo varios recursos y cada uno podría tener un código de estado distinto. El cuerpo es un XML y por ejemplo un recurso podria devolver un 200 y el otro un 404
208Already ReportedQuiere decir que estas solicitando un listado de elementos DAV ya notificados con anterioridad, por lo que no se van a volver a listar.
226IM UsedEl servidor ha cumplido una petición GET para el recurso y la respuesta es una representación del resultado de una o más manipulaciones de instancia aplicadas a la instancia actual.

3×× Redirección

CódigoEstadoDescripción
300Multiple ChoicesLista una serie de links (5 como máximo) a los que el cliente podria acceder, por ejemplo cuando sirves videos o imágenes en distintos formatos y delegas en el cliente escoger el más adecuado para él.
301Moved PermanentlyEl recurso que has solicitado se ha movido definitivamente y para acceder a él la próxima vez debes usar la URI que te devuelve
302FoundEl recurso que has solicitado se ha movido temporalmente a otra URI, al ser temporal sigue usando la misma dirección introducida
303See OtherJunto con el código 307, es una implementación del código 302, esto quiere decir que el recurso se ha movido temporalmente y devuelve la URI donde lo puedes encontrar
304Not ModifiedIndica que el recurso solicitado no se ha modificado desde la última petición, ahorra ancho de banda y evita que se reprocese lo mismo
305Use ProxyEsta respuesta señala que para acceder al recurso que estas pidiendo necesitas hacerlo a través del proxy que te indica en la respuesta
307Temporary RedirectJunto con el código 303, es una implementación del código 302, esto quiere decir que el recurso se ha movido temporalmente pero no debes cambiar de URI, aun puedes acceder a él igual
308Permanent RedirectEl recurso que has solicitado se ha movido definitivamente y para acceder a él la próxima vez debes usar la URI que te devuelve (Es igual que el 301, salvo porque el método HTTP tiene que ser el mismo)

4×× Errores en el cliente

CódigoEstadoDescripción
400Bad RequestEl servidor no puede o no va a procesar la solicitud porque el cliente ha cometido un error de sintaxis o la ha construido mal
401UnauthorizedLa solicitud ha fallado porque carece de credenciales de autenticación válidas, o no te has autenticado o lo has hecho mal
402Payment RequiredReservado para uso futuro, fue creada para soportar para micropagos o dinero electronico, cosa que nunca pasó y por tanto esta en desuso
403ForbiddenLa solicitud ha fallado porque no estas autorizado a hacerla, en este caso si te has autenticado bien, pero no tienes privilegios para acceder al recurso que solicitas
404Not FoundPosiblemente el código más famoso, indica que el servidor no encuentra el recurso que solicita el cliente, esto te lo puede decir por dos motivos, porque realmente no lo encuentra o porque lo encuentra pero no quiere revelar que existe
405Method Not AllowedIndica que has solicitado un recurso con un método incompatible, por ejemplo quieres recuperar un listado de lo que sea, pero en vez de atacar la URI con un GET lo haces con un POST
406Not AcceptableCuando has solicitado cierto recurso y has definido en las cabeceras un formato que no se corresponde con el que va a enviar, por eso dice que no es aceptable (por ejemplo en la cabecera Accept tu has puesto text/html pero la respuesta es un JSON)
407Proxy Authentication RequiredParecido al 401 Unauthorized, pero indica que el cliente necesita autenticarse para poder usar un proxy.
408Request TimeoutLa solicitud del cliente ha tardado tanto en ser enviada al servidor que ha superado el tiempo de espera definido y falló
409Conflict 
410Gone 
411Length Required 
412Precondition Failed 
413Payload Too Large 
414Request-URI Too Long 
415Unsupported Media Type 
416Requested Range Not Satisfiable 
417Expectation Failed 
418I’m a teapot 
421Misdirected Request 
422Unprocessable Entity 
423Locked 
424Failed Dependency 
426Upgrade Required 
428Precondition Required 
429Too Many Requests 
431Request Header Fields Too Large 
444Connection Closed Without Response 
451Unavailable For Legal Reasons 
499Client Closed Request 

5×× Errores en el servidor

CódigoEstadoDescripción
500Internal Server ErrorEs un código de error muy genérico, que significa que el servidor al procesar la solicitud encontró una condición inesperada que le impidió completarla
501Not ImplementedEl servidor no soporta alguna funcionalidad necesaria para responder a la petición o no encuentra el método
502Bad GatewayEl servidor está actuando de proxy o gateway y ha recibido una respuesta inválida del otro servidor al que accedió para cumplir la solicitud
503Service UnavailableEl servidor no puede manejar la solicitud debido a una sobrecarga temporal o un mantenimiento programado
504Gateway Timeout 
505HTTP Version Not SupportedLa petición usa una versión del protocolo HTTP no soportada, se refiere a la major de la versión
506Variant Also Negotiates 
507Insufficient StorageEl servidor no tiene suficiente espacio de almacenamiento libre para crear o modificar el recurso solicitado
508Loop DetectedEl servidor terminó una operación porque encontró un bucle infinito al procesar la solicitud
510Not ExtendedLa solicitud no cumple la política para acceder al recurso. El servidor debe devolver la información necesaria para que el cliente emita una solicitud extendida.
511Network Authentication Required 
599Network Connect Timeout ErrorNo se especifica en ningún RFC, pero algunos proxies HTTP lo utilizan para señalar que hay un tiempo de espera entre ellos y el servidor