Cuando visitas una página web, normalmente escribes una dirección en la barra de direcciones o realizas una búsqueda en Google y haces clic en el resultado que más te interese. Después de eso, la web, normalmente, carga sin problemas. Otras veces no carga y te aparece el número 404, otras veces parece que va a cargar una dirección y de repente carga otra.
¿Te ha pasado alguna vez algo de esto? ¿Te has preguntado qué proceso hay por detrás desde el momento en que haces clic en el resultado de la búsqueda hasta que carga la página en tu pantalla? ¿Quieres saber cómo se comunica tu navegador con el servidor que aloja la web que quieres visitar? Pues te lo cuento en este post 😉
Códigos HTTP: la respuesta del servidor
De manera transparente para el usuario, o sea, para ti, todo el proceso que te he descrito antes tiene lugar siguiendo una secuencia de acciones determinada que, a modo de resumen, es la siguiente:
- Tu navegador contacta con el servidor en el que se aloja la web que quieres visitar.
- El servidor contesta al navegador con un código de estado que determinará lo que pasará a continuación.
- Ocurre algo.
Lógicamente esto está muy simplificado, pero a grandes rasgos esto es lo que pasa cada vez que visitas una web. Dependiendo del código de respuesta HTTP, pasará una cosa u otra. Por ejemplo, un código 200 indica que todo está bien y lo que ocurre es que la web carga sin problemas. Un código 301 indica una redirección permanente y lo que ocurre es que se carga una URL distinta a la inicial.
Te voy a enseñar en este post los códigos de estado HTTP más comunes pero antes quiero que veas los tipos de códigos que hay.
Tipos de códigos HTTP
Hay cinco tipos de códigos HTTP diferenciados por el dígito por el que comienzan. Son los siguientes:
- Códigos de estado HTTP 1xx: Respuestas informativas. El servidor informa de que la petición ha sido recibida y se puede continuar con el proceso.
- Códigos de estado HTTP 2xx: Éxito en la petición. El servidor indica con estos códigos que la petición ha sido recibida y correctamente entendida y procesada.
- Códigos de estado HTTP 3xx: Redirecciones. Con estos códigos, el servidor indica que el cliente debe realizar una nueva acción. Lo más frecuente es que no haya ninguna participación por parte del usuario y simplemente se cargue una URL nueva.
- Códigos de estado HTTP 4xx: Error del cliente. Estos códigos indican que el servidor no puede llevar a cabo la solicitud recibida por algún tipo de error por parte del cliente.
- Códigos de estado HTTP 5xx: Errores del servidor. Estos códigos indican que el servidor no puede llevar a cabo la solicitud, aunque sea correcta, debido a un problema propio.
Como ves, existe todo un mundo tras la “simple” carga de una web. Cada uno de estos tipos abarca varios códigos HTTP específicos. En este post no te los explicaré todos porque la mayoría no los verás nunca. Te explicaré los más frecuentes, algunos te sonarán, otros quizás no. Comenzamos.
Códigos de estado de respuesta HTTP más comunes
Como te decía antes, no tiene mucho sentido explicarte todos los códigos de respuesta HTTP puesto que la mayoría no aparecerán nunca frente a ti. No obstante, si te pica la curiosidad y quieres ver una lista completa de todos ellos, puedes verla en este enlace.
Código de estado HTTP 200: OK
El código HTTP 200 indica que todo está correcto en la petición. La solicitud se ha procesado sin problemas y se envían al cliente los datos solicitados. Este código normalmente no es visible para ti y es el que tiene lugar en la mayoría de los casos cuando cargas una web sin problemas.
Código de estado HTTP 301: Movido permanentemente (moved permanently)
El código HTTP 301 indica que el recurso ya no se encuentra en la dirección especificada y que ese cambio es permanente. La respuesta del servidor incluye la nueva dirección a la que el recurso ha sido movido, de modo que el cliente puede directamente realizar una nueva solicitud a esa dirección. Lo habitual es que esa nueva solicitud reciba un código 200.
El código de estado 301 es transparente para ti salvo porque puedes observar que la URL que hay en la barra de direcciones cambia. Si quieres saber más sobre las aplicaciones que tiene este código, tenemos un post específico sobre la redirección 301.
Código de estado HTTP 302: Encontrado (Found)
El código HTTP 302 se diferencia del anterior en que el cambio es temporal. El servidor indica que el recurso no se encuentra en la dirección especificada pero que volverá a estarlo y mientras tanto proporciona una dirección alternativa. Al igual que en el caso anterior, el cliente realiza directamente una nueva solicitud con la nueva dirección. Antes, en lugar de Found se identificaba por Moved Temporarily, que significa movido temporalmente en contraposición al movido permanentemente del código 301.
Código de estado HTTP 404: No encontrado (Not Found)
El código HTTP 404 es un código de error que indica que el recurso no se encuentra. Puede ser porque la página ya no exista o porque se ha cambiado la dirección. Habitualmente los errores 404 se arreglan usando una redirección 301 a la nueva dirección del recurso. Seguramente este código te suene y sí lo hayas visto en algunas ocasiones al intentar visitar una web.
Código de estado HTTP 500: Error interno del servidor (Internal Server Error)
El código HTTP 500 indica que el servidor ha encontrado un error pero no conoce el motivo ni sabe cómo proceder. Es posible que más de una vez hayas topado con este error navegando por Internet.
Código de estado HTTP 502: Bad Gateway (Puerta de enlace incorrecta)
El código HTTP 502 indica que el servidor está funcionando como un proxy o puerta de enlace (intermediario) y que ha encontrado un error en el servidor de destino, por lo que no puede completar la solicitud con éxito.
Código de estado HTTP 503: Service Unavailable (Servicio no disponible)
El código HTTP 503 indica que el servidor no puede atender la petición en ese momento, bien porque está sobrecargado, en tareas de mantenimiento o por cualquier otro motivo.
Espero que este post te haya resultado interesante y te haya servido para conocer un poco qué ocurre cuando abres tu navegador y visitas una web. Si ha sido así, comenta y comparte para que llegue a más gente. Nos vemos en el siguiente post 🙂