Los usuarios de un servidor pueden realizar peticiones al mismo a través de una HTTP request con el que se solicita el uso de algún tipo de recurso. A esta solicitud se contesta mediante una respuesta en forma de código de estado también en HTTP y pueden contener varios mensajes que son necesarios conocer, sobre todo porque en estos mensajes se nos comunican los tan temidos errores.

Podemos encontrar hasta 5 tipos de códigos de estado que nos puede comunicar nuestro servidor. Estos tipos de respuesta se pueden diferenciar por el número inicial. El número 1 indica que la respuesta tiene un mero contenido informativo, el número 2 indica que la solicitud es correcta y se lleva a acabo y el número 3 hace referencia a las redirecciones.

Los números 4 y 5 son los que hacen referencia a errores que se pueden deber al cliente en el primer caso y al servidor en el segundo. Vamos a enumerar cuáles son estos códigos de estado en los que nos vamos a centrar en este artículo.

En cuantos a los errores del cliente podemos encontrar los siguientes códigos de manera más frecuente:

400 Bad Request. La sintaxis de la petición del recurso no es correcta y no se puede entender por el servidor.

401 Unauthorized. Cuando no se ha producido la autentificación necesaria para realizar la solicitud del recurso.

403 Forbidden. El recurso que se solicita no tiene acceso.

404 Not Found. Ausencia temporal en el servidor del recurso solicitado.

405 Method Not Allowed. El navegador usa un método para obtener un recurso que no es soportado por el servidor.

406 Not Acceptable. El recurso del servidor no se encuentra en el formato adecuado para el navegador.

407 Proxy Authentication Required (RFC 7235). Se require autentificación mediante proxy.

408 Request Timeout. El cliente no ha enviado un request con el tiempo necesario con el que el servidor estaba preparado para esperar. El cliente podría repetir el request sin modificaciones más tarde.

409 Conflict. Conflicto entre varias solicitudes de recursos que coinciden en el tiempo.

410 Gone. Hace referencia a una ausencia permanente del recurso solicitado.

411 Length Required. Cuando el recurso solicitado requiere de parámetro de longitud que no está establecido en la petición.

412 Precondition Failed (RFC 7232). El servidor no cumple una de las precondiciones que se establecen en la petición.

413 Request Entity Too Large. La longitude de la solicitud supera lo permitido por el servidor

414 Request-URl Too Long. La URL contiene demasiados parámetros como para que el servidor lo procese.

423 Request Locked: Se muestra este código HTTP cuando el recurso solicitado está bloqueado.

429 Many Request: El numero de peticiones sobrepasa el límite de los que el servidor puede soportar.

Hasta aquí los códigos de estado generados por un error del cliente. Cuando el error proviene del servidor empiezan por el número 5 y podemos encontrar los siguientes con más frecuencia:

Código 500 – Internal Server Error: Un error genérico que sobreviene y no permite realizar la petición del recurso.

Código 501 – Not implemented: El servidor por su propia configuración no puede dar respuesta a la solicitud del navegador.

Código 502 – Bad Gateway: El servidor está actuando como proxy o gateway, o tiene instalado un proxy inverso y ha recibido una respuesta no válida desde el servidor upstream.

Código 503 – Service Unavailable: El servidor responde por encontrarse en mantenimiento o sobrecargado.

Código 504 – Gateway Timeout: El servidor está actuando como proxy, o tiene instalado un proxy inverso y se ha agotado el tiempo de respuesta del servidor upstream.

Código 505 – HTTP Version Not Supported: El navegador presenta una versión del protocolo Http que no es compatible con el usado por el servidor.

Código 511 – Network Authentification Required: El navegador debe autentificarse para poder realizar las solicitudes del recurso del servidor.

Conociendo el contenido del mensaje de estos códigos estados podrás actuar de la manera más oportuna para conseguir solucionar los problemas que puedan surgir en el uso del servidor.