Saltar al contenido

Códigos de Estados HTTP

Códigos de estados HTTP .

De seguro en alguna ocasión le ha ocurrido que cuando intenta acceder a una página web esta le muestra un mensaje de error. Esto puede ocurrir bastante a menudo, y puede tener varios significados asociados. El protocolo HTTP es el encargado de la comunicación mediante archivos HTML, XHTML u otros en la World Wide Web.

Este protocolo tiene implementado mostrar información al usuario acerca de estado o respuesta de la petición realizada. Existen muchos estados posibles y cada uno tiene su código con un mensaje específico asociado. En el siguiente artículo les brindamos una lista de los códigos de estados HTTP y que significan. Te invito a que continúes leyendo, ya comenzamos.

Tabla de contenidos


Que es HTTP

Antes que nada, hagamos una breve explicación de qué es HTTP. Como ya mencionábamos, HTTP es un protocolo que se utiliza en la World Wide Web como protocolo para la transferencia y comunicación de archivos HTML y derivados.

El protocolo HTTP establece cual es la semántica y la sintaxis que deben utilizar los elementos los softwares de la arquitectura web para comunicarse entre sí. HTTP es un protocolo de transacciones, con una arquitectura cliente servidor, donde el cliente realiza una petición y el servidor envía una respuesta.

¿Qué son los códigos de estados HTTP?

Los códigos de estados HTTP son respuestas enviada por el protocolo HTTP informando acerca del estado de la petición actual realizada. Existen cinco clases específicas de códigos de estado. En cada mensaje, el primer número del código hace referencia al tipo de respuesta ofrecida. Las descripciones del código se utilizan para informar al usuario de la manera más intuitiva posible.

Los tipos de respuestas establecidos están categorizadas como respuestas informativas, peticiones correctas, redirecciones, errores asociados al cliente y errores asociados al servidor.

Códigos de estados HTTP 1XX: Respuestas informativas

Entre los mensajes obtenidos con este tipo de código podemos encontrar «Petición recibida» y «continuando proceso». Este tipo de códigos se utilizan para mejorar en eficiencia durante la comunicación. En algunos casos, como la transferencia HTML, el cuerpo del mensaje es demasiado largo y no es eficiente enviarlo completamente para ver si es aceptado.

En estos casos se envía solo la cabecera del mensaje con una solicitud “Expect : 100-continue”. De esta forma comunica al servidor si este puede aceptar la comunicación. En caso de que el servidor devuelve un estado «100 Continue» se envía el resto del mensaje. En caso de recibir «417 Expectation Failed» no se continúa con la comunicación.

Código 100 Continue

Este código indica que el navegador web puede continuar realizando la petición. De esta manera se informa al cliente de que la primera parte de la petición fue recibida correctamente.

Código 101 Switching Protocols

Este se usa para indicar si el servidor ha aceptado un cambio del protocolo utilizado. Es posible en ocasiones que se requiera cambiar entre protocolo como HTTP 1.0 y HTTP 1.1. De esta manera el cliente conoce si el servidor acepta el cambio.

Código 102 Processing

Este informa al cliente de que la petición realizada está aún en proceso. Ocurre cuando hay largos tiempos de demora, pero la transacción no ha sido cancelada aún. De esta manera el cliente sabes que se está procesando su petición y que no ha sido denegada.

Código 103 Checkpoint

Indica que una petición de tipo POST o PUT que ha sido cancelada será nuevamente reanudada.

Códigos de estados HTTP 2XX: Peticiones correctas

Con estos códigos se indica que la petición ha sido Recibida correctamente. También indican que la misma se ha entendido y aceptado por parte del servidor. A modo de curiosidad, en el argot de la comunidad de las tecnologías informáticas, se usa “ok2xx” para indicar que una tarea se ha ejecutado exitosamente y se va a iniciar otra.

Código 200 OK

Esta es la respuesta estándar indicando que una petición es correcta.

Código 201 Created

Se indica que se ha creado un nuevo recurso a partir del procesado completo de la petición.

Código 202 Accepted

Este código indica que una petición se ha aceptado a ser procesada pero que el procesamiento no se ha completado. Puede ocurrir que cuando se procese la petición esta no se permita o procese, teniendo como consecuencia que la petición no sea satisfecha.

Código 203 Non-Authoritative Information

Este código se incluyó desde la versión HTTP 1.1. Este informa de que una petición ha sido completada pero los recursos utilizados fueron extraídos de otro servidor, y no del servidor al que se le realizó la petición.

Código 204 No Content

La respuesta emitida a raíz de una petición no tiene ningún contenido. No obstante, puede tener contenido en la cabecera HTTP.

Código 205 Reset Content

Este también indica que la respuesta a una petición no tiene contenido algunos. Pero, además el cliente debe reiniciar la página desde donde fue realizada la petición. Es usado, por ejemplo, en formularios web donde es necesario limpiarlos una vez que se envía la información.

Código 206 Partial Content

Este código indica que se enviará parte del contenido en la petición, y no el contenido completo. Es usada en gestores de descargas que dividen una descarga en diferentes partes, entre otros.

Código 207 Multi-Status

Indica que le cuerpo del mensaje está formado por un XML. Este puede contener números de códigos de respuestas separados en dependencia de la cantidad de sub-peticiones han sido realizadas.

Código 208 Already Reported

Informa que el listado de elementos DAV ha sido notificado previamente y esta notificación no se volverá a realizar.

Códigos de estados HTTP 3XX: Redirecciones

Estos tipos de códigos indican que es necesario ejecutar una acción extra por el cliente para completar la petición. Estas acciones pueden ser realizadas por al agente de usuario sin requerir una interacción con el usuario. También es obligatorio que el método de la acción extra sea GET o HEAD. No se debe redireccionar de manera automática una petición más de cinco veces. Este comportamiento puede degenerar en un bucle infinito de ejecuciones.

Código 300 Multiple Choices

Este indica que el cliente puede elegir entre múltiples opciones para el identificador de recursos uniformes URI. Es muy usado para mostrar diferentes variantes de un mismo objeto. Por ejemplo, varios formatos para ficheros de video o fotos.

Código 301 Moved Permanently

Indica una URL que servirá como destino a todas las peticiones futuras realizadas, incluyendo la actual.

Código 302 Found

Este código es dentro de la clase de redireccionamiento el más popular, aunque una contradicción con el propio estándar. Este código fue implementado por los navegadores como el código 303. Esto trae como consecuencia que la gran parte de aplicaciones web utilicen el código 302 como si fuera un código de estado HTTP 303.

Código 303 See Other

Implementado desde la versión HTTP 1.1. Indica que la respuesta de la petición se encuentra en otra URI y a está se puede acceder mediante el método GET.

Código 304 Not Modified

No se modificó la petición URL desde la última vez que se hizo. Este mecanismo permite ahorrar ancho de banda y evitar el reprocesamiento por parte del servidor y el cliente.

Código 305 Use Proxy

Introducido con la versión HTTP 1.1. Algunos navegadores como Mozilla no siguen el estándar al procesar este código de estado. Esto se realiza principalmente por temas de seguridad.

Código 306 Switch Proxy

No se emplea en las versiones actuales HTTP.

Código 307 Temporary Redirect

La petición ha sido redireccionada a otra URI, pero la URI actual aún puede procesar la petición.

Código 308 Permanent Redirect

Este indica que el recurso solicitado ha sido movido hacia otro lugar. Este cambio es permanente y no se permite cambiar el método de acceso para la nueva petición.

Códigos de estados HTTP 4xx: Errores del cliente

Estos tipos de códigos de estado se utilizan para indicar al cliente de que ha hecho algo mal en la petición. Obviando peticiones HEAD, el servidor debe enviar un mensaje con una explicación a la situación del error. Además, son los códigos de estados HTTP asociados a errores más comunes.

Código 400 Bad Request

Indica que la petición contiene sintaxis incorrecta. El servidor no la procesará, ya sea porque no puede o porque no debe por temas de seguridad u otros.

Código 401 Unauthorized

Es usado cuando el proceso de autenticación es posible, pero falló o no es posible manejarlo en ese momento.

Código 402 Payment Required

No es usado.

Código 403 Forbidden

Se lanza cuando una solicitud es realizada por un cliente que no tiene los privilegios para realizarla.

Código 403 Forbidden.

Código 404 Not Found

Informa de que no ha encontrado un recurso. Es empleado cuando el servidor web no encuentra una página o recurso requerido.

Códigos de estados HTTP 404.

Código 405 Method Not Allowed

Error encontrado cuando una petición se realiza sobre una URI con un método que está URI no soporta.

Código 406 Not Acceptable

El cliente no cuenta con un formato que asimile la devolución de datos por parte del servidor.

Código 407 Proxy Authentication Required

Se emite cuando el servidor necesita un Proxy para la autenticación.

Código 408 Request Timeout

Indica que el cliente falló durante el proceso de continuación de la petición.

Código 409 Conflict

Hay algún conflicto en un recurso y la petición no puede ser procesada.

Código 410 Gone

Indica que un recurso no está y no estará disponible nuevamente. Generalmente se emplea cuando un servidor elimina un recurso permanentemente.

Código 411 Length Required

En la petición del cliente no se incluye la cabecera Content-Length adecuada, por esto el servidor rechaza la petición.

Código 412 Precondition Failed

Se emite cuando el servidor es incapaz de cumplir con algunas de las restricciones impuestas por el navegador.

Código 413 Request Entity Too Large

El servidor no procesa la petición ya que esta es demasiado grande.

Código 414 Request-URI Too Long

La URI de la petición es demasiado grande. A consecuencia, el servidor no es capaz de procesarla. Ese tipo de error es bastante poco común, y tiene que ver con el uso erróneo en el método de acceso.

Código 415 Unsupported Media Type

Ocurre cuando la petición del navegador no es entendida por el servidor debido a su formato.

Código 416 Requested Range Not Satisfiable

Se responde este código cuando el cliente pregunta por una parte de un archivo que no puede ser proporcionada por el servidor.

Código 417 Expectation Failed

El servidor no puede cumplir con los requerimientos contenidos en la cabecera Expect de la petición.

Código 422 Unprocessable Entity

Existen errores semánticos que imposibilitan procesar la petición.

Código 423 Locked

Recurso bloqueado.

Código 429 Too Many Requests

Existen muchas peticiones desde esta localización de red.

El contiendo de este recurso no puede ser visualizado por indicación legal.

Códigos de estados HTTP 5xx: Errores del servidor

Estos códigos de estado HTTP indican cuando el servidor es incapaz de ejecutar una petición.  

500 Internal Server Error

Es bastante común en aplicaciones web encargadas de generar contenido dinámicamente. Se lanza cuando se encuentran errores que son totalmente ajenos al servidor.

Código 501 Not Implemented

Emitido cuando el servidor no soporta una función que permita responder al cliente. Por ejemplo, pude ser un método de acceso que no tiene implementado el servidor.

Código 502 Bad Gateway

Es de los más comunes. En este caso el servidor actúa como Proxy o Gateway. En una petición realizada a otro servidor este ha emitido una respuesta inválida.

Código 503 Service Unavailable

No hay respuesta del servidor ya que este está demasiado ocupado.

Código 504 Gateway Timeout

Ocurre cuando el servidor está actuando como Proxy o Gateway y se excede el tiempo de respuesta de una petición a otro servidor.

Código 505 HTTP Version Not Supported

El servidor no soporta la versión HTTP solicitada por el navegador.

Código 507 Insufficient Storage

No hay suficiente espacio de almacenamiento para modificar el recurso solicitado.

Código 508 Loop Detected

Se detecta un bucle infinito al procesar la petición.

Código 509 Bandwidth Limit Exceeded

Se ha excedido el límite de ancho de banda

Código 511 Network Authentication Required

En este caso el navegador debe estar autenticado para poder navegar por la web. Los portales cautivos y otros software de autenticación usan este código.


Artículos relacionados que te podrían resultar interesantes: