El protocolo HTTP (Hypertext Transfer Protocol) es uno de los pilares de la web, en el cual cada vez que un usuario visita un sitio web, el navegador realiza una solicitud HTTP al servidor dónde está alojado el sitio. Esta solicitud recibe una respuesta que es un código de estado HTTP, el cual indica cómo se ha procesado la solicitud. Comprender estos códigos es esencial para gestionar correctamente el comportamiento del sitio web, solucionar problemas y mejorar la experiencia de usuario.
En este artículo se explorará qué son los códigos de estado HTTP, cómo utilizarlos y brindaremos ejemplos prácticos para que puedas aplicarlos en tu web.
¿Qué son los códigos de estado HTTP?
Son números de tres dígitos que indican el resultado de una solicitud HTTP. Estos códigos son enviados por el servidor de un sitio web como parte de la respuesta a una solicitud realizada por un navegador o cualquier otro cliente HTTP. Los códigos de estado son importantes porque permiten a los desarrolladores y administradores de sitios web identificar errores, redirecciones y otros eventos importantes que están relacionados con las solicitudes de los usuarios.
Tipos de códigos de estado HTTP
Los códigos de estado HTTP se dividen en cinco categorías:
- Códigos de respuesta 1xx (Informativos)
- Códigos de respuesta 2xx (Éxito)
- Códigos de respuesta 3xx (Redirecciones)
- Códigos de respuesta 4xx (Errores del cliente)
- Códigos de respuesta 5xx (Errores del servidor)
Códigos 1xx: Informativos
Indican que el servidor ha recibido la solicitud y que se está procesando, pero aún no se ha completado la respuesta. Los códigos principales son:
- 100 Continue: El servidor ha recibido los encabezados de la solicitud y el cliente puede continuar enviando el cuerpo de la solicitud.
- 101 Switching Protocols: El servidor está cambiando el protocolo que se usará para la comunicación.
Normalmente estos códigos no se utilizan en las comunicaciones diarias con servidores web y muy rara vez se ven reflejados en el navegador.
Códigos de Estado 2xx: Respuestas Exitosas
Los códigos en este rango indican que la solicitud del cliente ha sido procesada con éxito. Los códigos más comunes son:
- 200 OK: Este es el código de estado más común, el cual significa que la solicitud fue exitosa y que el servidor ha devuelto la respuesta solicitada.
- 201 Created: Se usa cuando una solicitud termina en la creación de un recurso en el servidor, como puede ser cuando se crea una nueva entrada en una base de datos de WordPress.
- 204 No Content: Indica que la solicitud fue exitosa, pero no se devuelve ningún contenido. Por ejemplo, este código se suele usar en respuestas a solicitudes AJAX en WordPress cuadno no es necesario mostrar contenido adicional.
Códigos de Estado 3xx: Redirecciones
Este tipo de códigos indican que el cliente debe realizar alguna acción para completar la solicitud. Esto se utiliza cuando un recurso ha cambiado de ubicación o cuando se necesita una acción del usuario, como puede ser seguir un enlace. Algunos de los códigos son:
- 301 Moved Permanently: Un recurso se ha movido permanentemente a una nueva ubicación. Este código es especialmente útil cuando se cambia la estructura de URLs o se elimina una página. Ejemplo con .htaccess:
- 302 Found: Indica una redirección temporal, que a diferencia del 301, el recurso no se ha movido de forma permanente, ya que el cliente debe seguir solicitando la URL original en el futuro.
- 303 See Other: Se usa cuando el servidor redirige al cliente a otra URL usando el método GET, generalmente después de un formulario de envío.
Códigos de Estado 4xx: Errores del Cliente
Esta clase de código se utilizan para cuando hubo un error en la solicitud del cliente, lo que significa que el problema no está en el servidor, sino en la forma en que el cliente hizo la solicitud. Los principales son:
- 400 Bad Request: El servidor no pudo procesar la solicitud debido a un error en la sintaxis, lo cual puede ocurrir cuando hay problemas con las URL, parámetros mal formados, etc.
- 401 Unathorized: El cliente necesita autenticarse para acceder al recurso que solicita. Por ejemplo, esto sucede en WordPess cuando un usuario intenta acceder a una página protegida sin haber iniciado sesión en el panel de administración.
- 403 Forbbiden: El cliente tiene prohibido acceder al recurso solicitado. Esto puede ocurrir si un usuario intenta acceder a una página o recurso para el que no tiene permisos. Ejemplo con .htaccess si se desea prohibir el acceso a un recurso:
- 404 Not Found: Uno de los códigos más conocidos, el cual indica que el servidor no pudo encontrar el recurso solicitado. Ejemplo con .htaccess:
Códigos de Estado 5xx: Errores del Servidor
Se utilizan cuando el servidor encontró un problema al procesar la solicitud. Estos errores no son culpa del cliente, sino del lado del servidor. Los códigos que más aparecen son:
- 500 Internal Server Error: Es un código de error general y puede ocurrir por diversas razones, como errores en el archivo .htaccess, problemas con el servidor web o una mala configuración de PHP.
- 502 Bad Gateway: Se produce cuando un servidor intermedio (como un proxy o gateway) intenta comunicarse con otro servidor para obtener información, pero recibe una respuesta incorrecta o no válida de ese servidor. Esto puede suceder por configuraciones incorrectas en el servidor o problemas con la conexión entre los servidores.
- 503 Service Unavailable: El servidor está temporalmente fuera de servicio, lo que puede ocurrir si está sobrecargado o se encuentra en mantenimiento.
Los códigos de estado HTTP son una parte fundamental en la comunicación entre los clientes y los servidores web. Al aprenderlos, puedes solucionar problemas en tu sitio mucho más rápido y con el archivo .htaccess podrás configurarlos correctamente, lo que mejorará la experiencia de usuario, el SEO y la gestión de los errores.