Los códigos de estado de respuesta HTTP se clasifican en 5 categorías amplias. Los códigos de estado proporcionan una manera fácil para que los clientes entiendan los resultados de sus transacciones.

Como los métodos le dicen al servidor qué hacer, Los códigos de estado se encuentran en las líneas de inicio de las respuestas. Por ejemplo, en la línea “HTTP/1.1 200 OK“, el código de estado es 200.

Códigos de Estado HTTP (HTTP Status Codes)

Códigos de Estado HTTP (HTTP Status Codes)

Cuando los clientes envían mensajes de solicitud a un servidor HTTP, pueden suceder muchas cosas. Si tienes suerte, la solicitud se completará con éxito. Puede que no siempre seas tan afortunado. El servidor puede decirte que no se pudo encontrar el recurso que solicitaste, que no tienes permiso para acceder al recurso o que el recurso se ha movido a otro lugar.

Los códigos de estado se devuelven en la línea de inicio de cada mensaje de respuesta. Se devuelven tanto un estado numérico como legible por humanos. El código numérico facilita el procesamiento de errores para los programas, mientras que la Frase explicativa es fácil de entender para los humanos.

Los diferentes códigos de estado se agrupan en clases por sus códigos numéricos de tres dígitos. Los códigos de estado entre 200 y 299 representan el éxito. Los códigos entre 300 y 399 indican que el recurso se ha movido. Los códigos entre 400 y 499 significan que el cliente hizo algo mal en la solicitud. Los códigos entre 500 y 599 significan que algo salió mal en el servidor.

Rango GeneralRango definidoCategoría
100-199100-101Informativo
200-299200-206Exitoso
300-399300-305Redirección
400-499400-415Error de cliente
500-599500-505Error del servidor

1. 100-199: Códigos de estado informativo

HTTP/1.1 introdujo los códigos de estado informativo al protocolo. Son relativamente nuevos y están sujetos a un poco de controversia sobre su complejidad y valor percibido.

Código de estadoFrase explicativaSignificado
100ContinueIndica que se recibió una parte inicial de la solicitud y el cliente debe continuar. Después de enviar esto, el servidor debe responder después de recibir la solicitud.
101Switching ProtocolIndica que el servidor está cambiando los protocolos, según lo especificado por el cliente, a uno que figura en el encabezado de solicitud Upgrade.

2. 200-299: Códigos de estado de éxito

Cuando los clientes hacen solicitudes, las solicitudes generalmente son exitosas. Los servidores tienen una serie de códigos de estado para indicar el éxito, combinados con diferentes tipos de solicitudes.

Código de estadoFrase explicativaSignificado
200OKLa solicitud está bien, el cuerpo del mensaje contiene el recurso solicitado.
201CreatedPara solicitudes que crean objetos de servidor (p. Ej., PUT). El cuerpo de la entidad de la respuesta debe contener varias URL para hacer referencia al recurso creado, con el encabezado de la ubicación que contiene la referencia más específica. El servidor debe haber creado el objeto antes de enviar este código de estado.
202AcceptedLa solicitud fue aceptada, pero el servidor aún no ha realizado ninguna acción con ella. No hay garantías de que el servidor completará la solicitud; esto solo significa que la solicitud parecía válida cuando se aceptó. El servidor debe incluir un cuerpo de entidad con una descripción que indique el estado de la solicitud y posiblemente una estimación de cuándo se completará (o un puntero a donde se puede obtener esta información).
203Non-Authoritative InformationLa información contenida en los encabezados de las entidades no proviene del servidor de origen sino de una copia del recurso. Esto podría suceder si un intermediario tiene una copia de un recurso pero no puede o no valida la metainformación (encabezados) que envió sobre el recurso. Este código de respuesta no es necesario para ser utilizado; es una opción para las aplicaciones que tienen una respuesta que sería un estado de 200 si los encabezados de las entidades provinieran del servidor de origen.
204No ContentEl mensaje de respuesta contiene cabeceras y una línea de estado, pero ningún organismo de la entidad. Se utiliza principalmente para actualizar navegadores sin que se muevan a un nuevo documento (por ejemplo, actualizando una página de formulario).
205Reset ContentOtro código principalmente para navegadores. Indica al navegador que borre cualquier elemento de formulario HTML de la página actual.
206Partial ContentUna solicitud parcial o de alcance tuvo éxito. Más adelante, veremos que los clientes pueden solicitar parte o un rango de un documento utilizando encabezados especiales - este código de estado indica que la solicitud de rango fue exitosa.

3. 300-399: Códigos de estado de redirección

Los códigos de estado de redirección indican a los clientes que utilicen ubicaciones alternativas para los recursos en los que están interesados ​​o proporcionan una respuesta alternativa en lugar del contenido.

Si un recurso se ha movido, se puede enviar un código de estado de redireccionamiento y un encabezado Location opcional para decirle al cliente que el recurso se ha movido y dónde se puede encontrar ahora. Esto permite a los navegadores ir a la nueva ubicación de forma transparente, sin molestar a sus usuarios humanos.

Código de estadoFrase explicativaSignificado
300Multiple ChoicesSe devuelve cuando un cliente ha solicitado una URL que realmente hace referencia a varios recursos, como un servidor que aloja una versión en español y francés de un documento HTML. Este código se devuelve junto con una lista de opciones; el usuario puede seleccionar la que desee.
301Moved PermanentlySe utiliza cuando se ha movido la URL solicitada. La respuesta debe contener en el encabezado de Location la URL donde reside ahora el recurso.
302FoundAl igual que el código de estado 301; sin embargo, el cliente debe utilizar la URL dada en el encabezado Location para localizar el recurso temporalmente. Las solicitudes futuras deben utilizar la URL antigua.
303See OtherSe usa para decirle al cliente que el recurso debe ser obtenido usando una URL diferente. Esta nueva URL se encuentra en el encabezado Location del mensaje de respuesta. Su objetivo principal es permitir que las respuestas a las solicitudes POST dirijan al cliente a un recurso.
304Not ModifiedLos clientes pueden condicionar sus solicitudes por los encabezados de solicitud que incluyen. Si un cliente realiza una solicitud condicional, como un GET si el recurso no se ha cambiado recientemente, este código se utiliza para indicar que el recurso no ha cambiado. Las respuestas con este código de estado no deben contener un cuerpo de entidad.
305Use ProxySe usa para indicar que se debe acceder al recurso a través de un proxy; la ubicación del proxy se da en el encabezado Location. Es importante que los clientes interpreten esta respuesta relativa a un recurso específico y no asuman que este proxy se debe usar para todas las solicitudes o incluso todas las solicitudes al servidor que contiene el recurso solicitado. Esto podría llevar a un comportamiento defectuoso si el proxy interfirió por error con una solicitud y presenta un agujero de seguridad.
306(Unused)No utilizado actualmente.
307Temporary RedirectAl igual que el código de estado 301; sin embargo, el cliente debe usar la URL proporcionada en el encabezado Location para ubicar el recurso temporalmente. Las solicitudes futuras deben usar la URL anterior.

4. 400-499: Códigos de estado de error del cliente

Algunas veces un cliente envía algo que un servidor simplemente no puede manejar, como un mensaje de solicitud mal formado o, más a menudo, una solicitud de una URL que no existe. Todos hemos visto el infame código de error 404 Not Found mientras navegamos, este es solo el servidor que nos dice que hemos solicitado un recurso sobre el cual no sabe nada.

Muchos de los errores del cliente son tratados por su navegador, sin que eso lo moleste. Algunos, como el 404, aún podrían pasar.

Código de estadoFrase explicativaSignificado
400Bad RequestSe usa para decirle al cliente que ha enviado una solicitud mal formada.
401UnauthorizedSe devuelve junto con los encabezados apropiados que solicitan al cliente autenticarse antes de que pueda obtener acceso al recurso.
402Payment RequiredActualmente este código de estado no se usa, pero se ha reservado para uso futuro.
403ForbiddenSe usa para indicar que el servidor rechazó la solicitud. Si el servidor quiere indicar por qué se rechazó la solicitud, puede incluir un cuerpo de entidad que describa el motivo. Sin embargo, este código generalmente se usa cuando el servidor no quiere revelar el motivo de la negativa.
404Not FoundSe usa para indicar que el servidor no puede encontrar la URL solicitada. A menudo, se incluye una entidad para que la aplicación cliente se muestre al usuario.
405Method Not AllowedSe usa cuando se realiza una solicitud con un método que no es compatible con la URL solicitada. El encabezado Allow debe incluirse en la respuesta para indicar al cliente qué métodos están permitidos en el recurso solicitado.
406Not AcceptableLos clientes pueden especificar parámetros sobre qué tipos de entidades están dispuestos a aceptar. Este código se usa cuando el servidor no tiene recursos que coincidan con la URL que es aceptable para el cliente. A menudo, los servidores incluyen encabezados que permiten al cliente descubrir por qué no se puede satisfacer la solicitud.
407Proxy Authentication RequiredComo el código de estado 401, pero se usa para servidores proxy que requieren autenticación para un recurso.
408Request TimeoutSi un cliente tarda demasiado en completar su solicitud, un servidor puede devolver este código de estado y cerrar la conexión. La duración de este tiempo de espera varía de servidor a servidor, pero generalmente es lo suficientemente larga como para satisfacer cualquier solicitud legítima.
409ConflictSe usa para indicar algún conflicto que la solicitud puede estar causando en un recurso. Los servidores pueden enviar este código cuando temen que una solicitud pueda causar un conflicto. La respuesta debe contener un cuerpo que describa el conflicto.
410GoneSimilar a 404, excepto que el servidor una vez sostuvo el recurso. Se utiliza principalmente para el mantenimiento del sitio web, por lo que el administrador de un servidor puede notificar a los clientes cuando se ha eliminado un recurso.
411Length RequiredSe usa cuando el servidor requiere un encabezado Content-Length en el mensaje de solicitud.
412Precondition FailedSe usa si un cliente realiza una solicitud condicional y una de las condiciones falla. Las solicitudes condicionales se producen cuando un cliente incluye un encabezado Expect.
413Request Entity Too LargeSe usa cuando un cliente envía un cuerpo de entidad que es más grande de lo que el servidor puede o quiere procesar.
414Request URI Too LongSe usa cuando un cliente envía una solicitud con una URL de solicitud que es más grande de lo que el servidor puede o quiere procesar.
415Unsupported Media TypeSe usa cuando un cliente envía una entidad de un tipo de contenido que el servidor no comprende o no admite.
416Requested Range Not SatisfiableSe usa cuando el mensaje de solicitud solicita un rango de un recurso determinado y no es satisfactorio, el rango no es válido o no se puede cumplir.
417Expectation FailedSe usa cuando la solicitud contenía una expectativa en el encabezado de solicitud Expect que el servidor no pudo satisfacer. Un proxy u otra aplicación intermediaria puede enviar este código de respuesta si tiene evidencia inequívoca de que el servidor de origen generará una expectativa fallida para la solicitud.

5. 500-599: Códigos de estado de error del servidor

A veces un cliente envía una solicitud válida, pero el servidor tiene un error. Esto podría ser un cliente que se ejecuta en una limitación del servidor o un error en uno de los subcomponentes del servidor, como un recurso de puerta de enlace. Los servidores proxy a menudo tienen problemas cuando intentan comunicarse con los servidores en nombre del cliente.

Código de estadoFrase explicativaSignificado
500Internal Server ErrorSe usa cuando el servidor encuentra un error que le impide atender la solicitud.
501Not ImplementedSe usa cuando un cliente realiza una solicitud que está más allá de las capacidades del servidor (por ejemplo, utilizando un método de solicitud que el servidor no admite).
502Bad GatewaySe usa cuando un servidor que actúa como proxy o puerta de enlace encuentra una respuesta falsa desde el siguiente enlace en la cadena de respuesta de la solicitud (por ejemplo, si no puede conectarse a su puerta de enlace principal).
503Service UnavailableSe usa para indicar que el servidor actualmente no puede atender la solicitud, pero podrá hacerlo en el futuro. Si el servidor sabe cuándo estará disponible el recurso, puede incluir un encabezado Retry-After en la respuesta.
504Gateway TimeoutSimilar al código de estado 408, excepto que la respuesta proviene de una puerta de enlace o proxy que ha agotado el tiempo de espera de una respuesta a su solicitud de otro servidor.
505HTTP Version Not SupportedSe usa cuando un servidor recibe una solicitud en una versión del protocolo que no puede o no admite. Algunas aplicaciones de servidor eligen no admitir versiones anteriores del protocolo.

¡Si te ha sudo útil esta información, no dudes en compartirla! :’)

Códigos de Estado HTTP: 1xx, 2xx, 3xx, 4xx Y 5xx
5 (100%) 9 votes