Saltar la navegación

Códigos de Estado

Error404

Seguro que mientras navegas por internet, te has encontrado con páginas similares a la de la figura, que contienen mensajes como: “página no encontrada” o “NOT FOUND”y junto a este mensaje el número 404.

Pues bien, el número 404 es un código de estado especificado en el protocolo HTTP y el mensaje “NOT FOUND” o “NO ENCONTRADO” es su corta descripción de este código.

Importancia de los Códigos de Estado

La importancia de conocer los códigos de estado HTTP radica en la capacidad de diagnóstico. Al momento de desarrollar una aplicación Web, como desarrollador puedes saber, a través de estos códigos, si las solicitudes que se realizan desde el Cliente han sido procesadas exitosamente por el Servidor; Y si ha habido algún problema, al menos saber cual es la causa del problema..

Para explicar los códigos de estado, centremos nuestra atención en la arquitectura web; específicamente, en la respuesta HTTP.codigoEstadoHTTP_response

La respuesta HTTP, que envía el servidor al cliente, tiene varios elementos en su estructura. Uno de esos elementos es el código de estado, que es el número 200 que está marcado en rojo.

El código de estado 200 nos indica si la petición enviada por el Cliente fue exitosamente resuelta por el Servidor. Es decir, cuando el Servidor pudo cumplir con la solicitud realizada por el Cliente, el Servidor envía el código de estado 200 y además, un mensaje corto como lo indica la palabra "OK" junto al número 200.

Este código 200 y otros códigos importantes, los veremos en la siguiente sección.

Los códigos de estado HTTP describen, de forma abreviada, la respuesta HTTP. Estos códigos están especificados por el RFC 2616.

El primer dígito del código de estado especifica uno de los 5 tipos de respuesta, el mínimo para que un cliente pueda trabajar con HTTP es que reconozca estas 5 clases:

1XX Respuestas informativas
2XX Peticiones correctas
3XX Redirecciones
4XX Errores del cliente
5XX Errores de servidor

De esta manera, tenemos una gran variedad de códigos dentro de los cinco tipos de respuesta. Aquí veamos los más comunes.

Código

Descripción

200 (Ok)

la petición del navegador se ha completado con éxito.

201 (Created)

la petición del navegador se ha completado con éxito y como resultado, se ha creado un nuevo recurso (la respuesta incluye la URI de ese recurso).

202 (Accepted)

la petición del navegador se ha aceptado y se está procesando en estos momentos, por lo que todavía no hay una respuesta (se utiliza por ejemplo cuando un proceso realiza una petición muy compleja a un servidor y no quiere estar horas esperando la respuesta).

204 (No Content)

la petición se ha completado con éxito pero su respuesta no tiene ningún contenido (la respuesta sí que puede incluir información en sus cabeceras HTTP).

304 (Not Modified)

cuando el navegador pregunta si un recurso ha cambiado desde la última vez que se solicitó, el servidor responde con este código cuando el recurso no ha cambiado.

400 (Bad Request)

el servidor no es capaz de entender la petición del navegador porque su sintaxis no es correcta.

403 (Forbidden)

la petición del navegador es correcta, pero el servidor no puede responder con el recurso solicitado porque se ha denegado el acceso.

404 (Not Found)

el servidor no puede encontrar el recurso solicitado por el navegador y no es posible determinar si esta ausencia es temporal o permanente.

500 (Internal Server Error)

la solicitud del navegador no se ha podido completar porque se ha producido un error inesperado en el servidor.

Recursos útiles: Códigos de Estado

Por su puesto, si tienes ganas de consultar todos los códigos de estado definidos en HTTP, te sugiero visites este primer enlace donde está la documentación oficial RFC2616. En este documento, revisa la sección 10 y encontrarás todos los códigos.

Además, como un recurso de ayuda para que recuerdes los códigos, puedes descargar libremente una infografía bastante útil de los códigos de estado la puedes encontrar en este enlace de Steceschoger.

Códigos de Estado - infografía Steceschoger

Creado con eXeLearning (Ventana nueva)