Los códigos de respuesta HTTP son las respuestas que puede hacer un servidor cuando un cliente le hace una solicitud. Digamos que es una forma de saber qué está sucediendo en el transcurso de información entre el servidor y, por ejemplo, la web del cliente.
Los códigos de estado o de respuesta HTTP se clasifican en cinco grupos principales que a su vez se pueden clasificar por el primer dígito de su nomenclatura.
- 1XX Respuestas informativas
- 2XX Peticiones correctas o exitosas
- 3XX Redirecciones
- 4XX Errores del cliente
- 5XX Errores del servidor
Veamos las más importantes:
1. Respuestas informativas
Indican que la solicitud ha sido recibida y comprendida por el servidor. Básicamente sirve para informar al cliente del estado de procesamiento de la solicitud y le informa de que tiene que esperar para recibir una respuesta final.
100 Continuar
El servidor ha recibido los encabezados o headers de la solicitud y el cliente debe proceder a enviar el cuerpo de la solicitud.
101 Cambio de protocolos
El cliente ha solicitado al servidor que cambie de protocolo.
102 Procesamiento WebDAV
Este código de respuesta indica que el servidor ha recibido la solicitud y la está procesando. Como aún no hay una respuesta disponible, este código de respuesta evita que el cliente pueda pensar que la solicitud se ha perdido.
2. Peticiones correctas o exitosas
Este código de respuesta indica que la solicitud del cliente ha sido recibida correctamente y ha sido procesada sin problemas.
200 OK
Es la respuesta que recibe el solicitante cuando la solicitud es correcta.
201 Creado
La solicitud se ha cumplido y se ha creado un nuevo recurso.
202 Aceptado
La solicitud ha sido aceptada pero aún no se ha terminado el procesamiento.
203 Información no autorizada
La solicitud se ha procesado pero el contenido de la respuesta viene de un tercero.
204 Sin contenido
La solicitud se ha completado pero no devuelve ningún contenido.
205 Restablecer contenido
La solicitud se ha procesado correctamente pero no devuelve ningún contenido y el usuario tiene que reiniciar la página.
206 Contenido parcial
Al realizar la petición el servidor solo devolverá una parte del contenido solicitado.
207 Multiestado (WebDAV)
El cuerpo del mensaje es un XML que puede contener varios códigos de respuesta dependiendo del número de sub-solicitudes se hayan realizado.
3. Redirecciones
Este código de estado indica que el cliente debe realizar una acción adicional para completar la solicitud
300 Opciones múltiples
Indica múltiples opciones de enlace para el recurso entre las que el cliente puede seleccionar para ir a esa dirección.
301 Movido permanentemente
La página solicitada debe moverse a una nueva URI porque la actual ha cambiado.
302 Encontrado
Indica que el recurso de la URI solicitada ha sido cambiada temporalmente.
303 Ver otro
La respuesta a la solicitud se puede encontrar en otra URI diferente utilizando el método GET.
304 No modificado
Indica que el cliente puede seguir utilizando la versión almacenada en su caché porque la respuesta no ha sido modificada y el cliente ya la tiene descargada.
305 Usar Proxy
El cliente necesita usar Proxy para recibir el recurso solicitado.
307 Redireccionamiento temporal
El recurso solicitado debe volverse a solicitar con otra URI, pero solo temporalmente, por lo que en futuras solicitudes no será necesario.
308 Redireccionamiento permantente
El recurso solicitado debe volverse a solicitar con otra URI.
4. Errores del cliente
Estos códigos de respuesta indican que el error seguramente ha sido causado por el cliente.
400 Petición incorrecta
El servidor no puede o no puede procesar la solicitud debido a un error por parte del cliente
401 No autorizado
Se devuelve cuando se requiere autentificación y esta ha fallado o aún no se ha proporcionado
402 Pago requerido
Aún no se utiliza este código. Está pensado para solicitudes en procesos de pagos con tarjeta o micropagos.
403 Prohibido
La solicitud es correcta pero el servidor no devuelve respuesta, por ejemplo, por falta de permisos.
404 No encontrado
El recurso no se ha conseguido encontrar, pero es posible que esté en el futuro.
405 Método no permitido
La solicitud se ha realizado con un método no soportado o permitido.
406 Método no aceptado
El recursos solicitado solo es capaz de generar contenido no aceptado de acuerdo con los encabezados de aceptación enviados en la solicitud.
407 Se requiere autentificación de Proxy
El cliente primero debe identificarse con el proxy.
408 Solicitar tiempo de espera
El servidor agotó el tiempo de espera de la solicitud.
409 Conflicto
Se ha producido un conflicto actual en la solicitud.
410 Desaparecido
El recurso solicitado ya no existe.
411 Longitud requerida
No se especificó la longitud del contenido en la solicitud.
412 Precondición fallida
El servidor no cumple alguna de las condiciones previas que el solicitante estipuló en el encabezado de la solicitud.
413 Carga útil demasiado grande
La solicitud es demasiado grande y el servidor no puede procesarla.
414 URI demasiado largo
El URI de la solicitud es demasiado largo para que el servidor pueda procesarla.
415 Tipo de medio no admitido
La entidad de solicitud tiene un tipo de medio que el servidor o recurso no pueden procesar.
416 Rango de solicitud no satisfactorio
El cliente ha solicitado una porción de archivo que el servidor no puede proporcionar.
417 Expectativa fallida
El servidor no puede cumplir con los requisitos del header Expect request.
418 Soy una tetera
Es un código de broma que indica que el código debe ser devuelto por las teteras solicitadas para preparar café.
421 Solicitud mal dirigida
La solicitud se envió a un servidor que no puede proporcionar una respuesta.
422 Entidad no procesable
Debido a errores semánticos no se pudo seguir la solicitud.
423 Bloqueado
El recurso está bloqueado y no se puede acceder.
424 Dependencia fallida
La solicitud enviada dependía de otra solicitud que ha dado error.
425 Demasiado pronto
Indica que el servidor no va a correr el riesgo de procesar una solicitud que podría reproducirse.
426 Requiere actualización
El cliente debe cambiar de protocolo.
428 Requisito previo
El servidor requiere que la solicitud sea condicional.
429 Demasiadas solicitudes
El cliente ha enviado demasiadas solicitudes en un corto período de tiempo.
431 Campos del encabezado de la solicitud demasiado grandes
El servidor no va a procesar la solicitud porque algún campo del encabezado es demasiado grande.
451 No disponible por motivos legales
No se puede acceder al recurso solicitado por motivos legales.
5. Errores del servidor
El causante del error es el servidor, por lo que no es capaz de procesar la solicitud. Menos cuando se responde a una solicitud HEAD, el servidor debe incluir una entidad que contenga una explicación de la situación de error e indicar si se trata de una condición temporal o permanente.
500 Error interno del servidor
Es un error genérico cuando el servidor no puede especificar la causa del fallo.
501 No implementado
El servidor no reconoce el método de solicitud o carece de la capacidad para cumplir la solicitud.
502 Puerta de enlace no válida
El servidor estaba actuando como puerta de enlace o proxy y recibió una respuesta fallida del servidor ascendente.
503 Servicio no disponible
El servidor no puede procesar la solicitud por no estar disponible en ese momento.
504 Tiempo de espera de puerta de enlace
El servidor actuaba como puerta de enlace o proxy y no recibió una respuesta adecuada del servidor ascendente.
505 Versión HTTP no compatible
El servidor no acepta la versión del protocolo HTTP empleada en la solicitud.
506 La variante también negocia
El servidor tiene un error de configuración interna.
507 Almacenamiento insuficiente
El servidor no puede almacenar información necesaria para completar la solicitud.
508 Loop detectado
El servidor detectó un bucle infinito mientras procesaba la solicitud
510 No extendido
El servidor necesita más extensiones de la solicitud para poder cumplirla.
511 Se requiere autenticación de red
El cliente necesita autentificarse para tener acceso a la red.
¡Muchas gracias!
Espero que te haya resultado útil el artículo y te haya ayudado a comprender mejor las causas de los errores que devuelven los servidores cuando se realiza una petición.
¡Un saludo!