Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Redirecciones Protocolo HTTP

Veamos cómo funcionan las redirecciones en HTTP. Si hacemos una petición a codica.la, obtendremos una redirección como respuesta:

telnet codica.la 80
GET / HTTP/1.1
host: codica.la

HTTP/1.1 301 Moved Permanently
Date: Thu, 14 May 2020 15:00:05 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: max-age=3600
Expires: Thu, 14 May 2020 16:00:05 GMT
Location: https://app.codica.la/
Server: cloudflare
CF-RAY: 59357c73fadaf2a0-WAW
cf-request-id: 02b54c363b0000f2a07c8f0200000001

0

Esto se debe a que codica.la solo funciona con HTTPS. Pero también procesa HTTP. Después de todo, el navegador que acceda al sitio necesita recibir una indicación de que debe hacer una redirección.

301 Redirect

¿Cómo funciona esto? Se devuelve un encabezado 300 (formato de redirecciones). En nuestro ejemplo, vemos "301 Moved Permanently". Esto significa que el recurso al que se envió la petición se ha movido permanentemente y ya no tiene sentido volver aquí. Esto se utiliza activamente para SEO. Los motores de búsqueda mantienen todos los parámetros de las páginas en la antigua dirección en su índice.

Existen diferentes tipos de redirecciones, como la redirección temporal "302 Found". Se utiliza cuando algo ha sucedido: el sitio no funciona, está bloqueado, etc. En su mayoría, son historias técnicas.

Pero, ¿cómo saber a dónde se redirige? Nuevamente, no hay magia, todo se basa en los encabezados. En principio, ni siquiera importa el body. Dependiendo de cómo funcione el sistema a través del cual se envía la petición, el body puede mostrarse o no. Lo importante es que aparezca el encabezado "Location". Debe estar presente en caso de un estado de respuesta que indique el lugar al que se debe ir.

Eso es todo. Luego, el navegador haría la redirección automáticamente. Pero como estamos en telnet, no hace ningún trabajo por nosotros y simplemente devuelve esta redirección.

A veces, los sitios web tienen errores y constantemente emiten redirecciones. El navegador intentará seguirlos infinitamente. Para evitar sobrecargar el sistema, existen diversas protecciones. Por ejemplo, pueden detectar redirecciones cíclicas y avisar que es necesario detener la operación.

Las bibliotecas con las que los programadores suelen trabajar suelen tener opciones. Son precisamente estas opciones las que indican si se debe seguir una redirección y, si es así, hasta qué profundidad.


Materiales adicionales

  1. HTTP 301

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY