Códigos de estado del protocolo HTTP

Conocimientos básicos sobre los códigos de estado del protocolo HTTP, qué grupos hay y qué significan.

http-status-codes

¿Alguna vez te has encontrado con mensajes como 404 Error: No encontrado o 500 Internal Server Error? Seguro que sí. Estos códigos son la manera en la que el protocolo HTTP comunica el resultado de una solicitud entre el cliente y el servidor. Pero, ¿qué significan exactamente y por qué importan? En este artículo, desglosaremos cada grupo de códigos y explicaremos su papel en el mundo del desarollo web.

Los hemos agrupado por rango y por cada grupo listado los más comunes.

1xx - Respuestas informativas

Estos códigos indican que el servidor ha recibido la solicitud y el proceso continúa. Son poco comunes en el uso diario, pero cumplen un papel importante en las comunicaciones HTTP.

  • 100 Continue: Informa que el cliente debe seguir con su solicitud.
  • 101 Switching Protocols: Señala que el servidor acepta cambiar al protocolo solicitado por el cliente (por ejemplo de HTTP a WebSockets).

2xx - Éxito

Indican que la solicitud se procesó correctamente y el servidor respondió como se esperaba.

  • 200 OK: La respuesta es exitosa y contiene el resultado solicitado.
  • 201 Created: Se ha creado un nuevo recurso en respuesta a la solicitud.
  • 202 No Content: La respuesta es exitosa pero no hay contenido para enviar.

3xx - Redirección

Se utilizan cuando se requiere una acción adicional por parte del cliente para completar la solicitud. Pueden señalar redirecciones temporales o permanentes.

  • 301 Moved Permanently: El recurso solicitado se ha movido de forma permanente a una nueva URL.
  • 302 Found: El recurso se encuentra temporalmente en otra ubicación.
  • 304 Not Modified: Indica que el recurso no ha sido modificado, por lo que el cliente puede usar la versión en caché.

Ejemplo de respuesta:

HTTP/1.1 301 Moved Permanently
Location: https://www.nuevo-destino.com/

4xx - Errores del cliente

Estos códigos reflejan que la solicitud enviada por el cliente contiene errores, ya sea en su formato o en los datos proporcionados.

  • 400 Bad Request: La solicitud tiene una sintaxis incorrecta.
  • 401 Unauthorized: Es necesaria la autenticación para acceder al recurso.
  • 403 Forbidden: El cliente no tiene permisos para acceder al recurso.
  • 404 Not Found: El recurso solicitado no se encuentra en el servidor.
  • 405 Method Not Allowed: El método solicitado (GET, POST, PUT, DELETE) no está permitido para el recurso.

Ejemplo de respuesta:

HTTP/1.1 404 Not Found
Content-Type: text/html
Content-Length: 456

5xx - Errores del servidor

Se refieren a problemas que surgen en el servidor al intentar procesar una solicitud válida.

  • 500 Internal Server Error: Se ha producido un error inesperado en el servidor.
  • 502 Bad Gateway: El servidor recibió una respuesta no válida de otro servidor al actuar como puerta de enlace.
  • 503 Service Unavailable: El servidor no está disponible temporalmente, usualmente por mantenimiento o alta carga.
  • 504 Gateway Timeout: El servidor no recibió una respuesta a tiempo de otro servidor que necesitaba para completar la solicitud.

Ejemplo de respuesta:

HTTP/1.1 500 Internal Server Error
Content-Type: text/html
Content-Length: 789

Conclusión

Los códigos de estado HTTP son importantes para entender la comunicación cliente-servidor.

  • Para los usuarios, ayudan a identificar rápidamente si algo salió mal y en qué nivel se presentó el problema.
  • Para el SEO, una correcta configuración y gestión de estos códigos garantiza que los motores de búsqueda comprendan la estructura del sitio, evitando errores que puedan afectar el posicionamiento.
  • Para los desarrolladores, proporcionan pistas claras para diagnosticar y solucionar problemas, asegurando que la interacción con la web sea lo más fluida posible.