La redirección de URL, también llamada reenvío de URL, es una técnica de la World Wide Web para hacer que una página web esté disponible en más de una dirección URL. Cuando un navegador web intenta abrir una URL que ha sido redirigida, se abre una página con una URL diferente. De manera similar, la redirección de dominio o el reenvío de dominio es cuando todas las páginas de un dominio URL se redireccionan a un dominio diferente, como cuando wikipedia.com y wikipedia.net se redireccionan automáticamente a wikipedia.org.
La redirección de URL se realiza por varias razones:
Por Acortador de URL; Para evitar enlaces rotos cuando se mueven páginas web; Permitir que varios nombres de dominio pertenecientes al mismo propietario hagan referencia a un único sitio web; Para guiar la navegación dentro y fuera de un sitio web; Para la protección de la privacidad; y Con fines hostiles, como ataques de phishing o distribución de malware.
Propósitos Hay varias razones para utilizar la redirección de URL:
Nombres de dominio similares Un usuario puede escribir mal una URL, por ejemplo, "ejemplo.com" y "ejemplo.com". Las organizaciones a menudo registran estos dominios "mal escritos" y los redirigen a la ubicación "correcta": ejemplo.com. Las direcciones ejemplo.com y ejemplo.net podrían redirigir a un solo dominio o página web, como ejemplo.org. Esta técnica se utiliza a menudo para "reservar" otros dominios de nivel superior (DNS) con el mismo nombre, o facilitar que un verdadero ".edu" o ".net" redirija a un dominio ".com" más reconocible.
Mover páginas a un nuevo dominio Las páginas web pueden redirigirse a un nuevo dominio por tres motivos:
Un sitio puede desear, o necesitar, cambiar su nombre de dominio; Un autor puede mover sus páginas individuales a un nuevo dominio; Dos sitios web pueden fusionarse.
Con las redirecciones de URL, los enlaces entrantes a una URL obsoleta se pueden enviar a la ubicación correcta. Estos enlaces pueden ser de otros sitios que no se han dado cuenta de que hay un cambio o de marcadores/favoritos que los usuarios han guardado en sus navegadores. Lo mismo se aplica a los motores de búsqueda. A menudo tienen los nombres de dominio y enlaces más antiguos/obsoletos en su base de datos y enviarán a los usuarios de búsqueda a estas URL antiguas. Al utilizar un redireccionamiento "movido permanentemente" a la nueva URL, los visitantes seguirán llegando a la página correcta. Además, en la siguiente pasada del motor de búsqueda, el motor de búsqueda debería detectar y utilizar la URL más nueva.
Registro de enlaces salientes Los registros de acceso de la mayoría de los servidores web guardan información detallada sobre de dónde vinieron los visitantes y cómo navegaron por el sitio alojado. Sin embargo, no registran qué enlaces dejaron los visitantes. Esto se debe a que el navegador del visitante no necesita comunicarse con el servidor original cuando el visitante hace clic en un enlace saliente. Esta información se puede capturar de varias formas. Una forma implica la redirección de URL. En lugar de enviar al visitante directamente al otro sitio, los enlaces en el sitio pueden dirigir a una URL en el dominio del sitio web original que redirige automáticamente al objetivo real. Esta técnica tiene la desventaja del retraso causado por la solicitud adicional al servidor del sitio web original. Como esta solicitud adicional dejará un rastro en el registro del servidor, revelando exactamente qué enlace se siguió, también puede ser un problema de privacidad. Algunos sitios web corporativos también utilizan la misma técnica para implementar una declaración de que el contenido posterior se encuentra en otro sitio y, por lo tanto, no necesariamente está afiliado a la corporación. En tales escenarios, mostrar la advertencia provoca un retraso adicional.
Alias cortos para URL largas
Las aplicaciones web a menudo incluyen atributos descriptivos extensos en sus URL que representan jerarquías de datos, estructuras de comando, rutas de transacciones e información de sesión. Esta práctica da como resultado una URL que es estéticamente desagradable y difícil de recordar, y que puede no ajustarse a las limitaciones de tamaño de los sitios de microblogging. Los servicios de acortamiento de URL brindan una solución a este problema al redirigir a un usuario a una URL más larga desde una más corta.
Alias significativos y persistentes para URL largas o cambiantes
A veces, la URL de una página cambia a pesar de que el contenido sigue siendo el mismo. Por lo tanto, la redirección de URL puede ayudar a los usuarios que tienen marcadores. Esto se hace habitualmente en Wikipedia cada vez que se cambia el nombre de una página.
Publicar/Redirigir/Obtener Publicar/Redirigir/Obtener (PRO) es un patrón de diseño de desarrollo web que evita algunos envíos de formularios duplicados si el usuario hace clic en el botón de actualización después de enviar el formulario, creando una interfaz más intuitiva para los agentes de usuario (usuarios).
Orientación por dispositivo y orientación geográfica Los redireccionamientos se pueden utilizar de forma eficaz con fines de segmentación, como la segmentación geográfica. La segmentación por dispositivo se ha vuelto cada vez más importante con el aumento de los clientes móviles. Hay dos enfoques para atender a los usuarios de dispositivos móviles: hacer que el sitio web sea receptivo o redirigir a una versión de sitio web para dispositivos móviles. Si se ofrece una versión del sitio web móvil, los usuarios con clientes móviles serán automáticamente redirigidos al contenido móvil correspondiente. Para la segmentación por dispositivo, se utilizan redireccionamientos del lado del cliente o redireccionamientos del lado del servidor que no se pueden almacenar en caché. La segmentación geográfica es el enfoque para ofrecer contenido localizado y reenviar automáticamente al usuario a una versión localizada de la URL solicitada. Esto es útil para los sitios web que se dirigen al público en más de una ubicación y/o idioma. Por lo general, los redireccionamientos del lado del servidor se utilizan para la segmentación geográfica, pero los redireccionamientos del lado del cliente también pueden ser una opción, según los requisitos.
Manipular motores de búsqueda Los redireccionamientos se han utilizado para manipular motores de búsqueda con intenciones poco éticas, por ejemplo, secuestro de URL. El objetivo de las redirecciones engañosas es dirigir el tráfico de búsqueda a las páginas de destino, que no tienen suficiente poder de clasificación por sí mismas o que solo están relacionadas de forma remota o no están relacionadas con el objetivo de búsqueda. El enfoque requiere una clasificación para un rango de términos de búsqueda con una serie de URL que utilizarían redireccionamientos furtivos para reenviar al buscador a la página de destino. Este método tuvo un renacimiento con el auge de los dispositivos móviles y la orientación por dispositivo. El secuestro de URL es una técnica de redireccionamiento fuera del dominio que explota la naturaleza del manejo del motor de búsqueda para redireccionamientos temporales. Si se encuentra un redireccionamiento temporal, los motores de búsqueda tienen que decidir si asignan el valor de clasificación a la URL que inicializa el redireccionamiento oa la URL de destino del redireccionamiento. La URL que inicia el redireccionamiento puede mantenerse para mostrarse en los resultados de búsqueda, ya que el redireccionamiento indica una naturaleza temporal. En determinadas circunstancias, fue posible explotar este comportamiento aplicando redireccionamientos temporales a URL bien posicionadas, lo que llevó a un reemplazo de la URL original en los resultados de búsqueda por la URL que inicializó la redirección, "robando" la clasificación. Este método generalmente se combinaba con redireccionamientos furtivos para redirigir el flujo de usuarios de los resultados de búsqueda a una página de destino. Los motores de búsqueda han desarrollado tecnologías eficientes para detectar este tipo de enfoques manipuladores. Los principales motores de búsqueda suelen aplicar severas sanciones de clasificación en los sitios que son atrapados aplicando técnicas como estas.
Manipular visitantes La redirección de URL se utiliza a veces como parte de los ataques de phishing que confunden a los visitantes sobre qué sitio web están visitando. Debido a que los navegadores modernos siempre muestran la URL real en la barra de direcciones, la amenaza se reduce. Sin embargo, los redireccionamientos también pueden llevarlo a sitios que de otra manera intentarán atacar de otras formas. Por ejemplo, una redirección podría llevar a un usuario a un sitio que intentaría engañarlo para que descargue software antivirus e instale un troyano de algún tipo.
Eliminar información del Referer Cuando se hace clic en un enlace, el navegador envía junto con la solicitud HTTP un campo llamado Referer que indica la fuente del enlace. Este campo se completa con la URL de la página web actual y terminará en los registros del servidor que sirve el enlace externo. Dado que las páginas sensibles pueden tener URL sensibles (por ejemplo, http://company.com/plans-for-the-next-release-of-our-product), no es conveniente que la URL de referer abandone la organización. Una página de redirección que realiza la ocultación de referer podría estar incrustada en todas las URL externas, transformando, por ejemplo http://externalsite.com/page dentro http://redirect.company.com/http://externalsite.com/page. Esta técnica también elimina otra información potencialmente confidencial de la URL de referencia, como el ID de sesión, y puede reducir la posibilidad de phishing al indicar al usuario final que pasó una puerta de enlace clara a otro sitio.
Implementación Varios tipos diferentes de respuesta al navegador resultarán en una redirección. Estos varían en cuanto a si afectan a las cabeceras HTTP o al contenido HTML. Las técnicas utilizadas normalmente dependen del rol de la persona que las implementa y su acceso a diferentes partes del sistema. Por ejemplo, un autor web sin control sobre los encabezados puede usar una metaetiqueta Actualizar, mientras que un administrador del servidor web que redirige todas las páginas de un sitio es más probable que use la configuración del servidor.
Redireccionamiento manual La técnica más simple es pedirle al visitante que siga un enlace a la nueva página, generalmente usando un ancla HTML como:
Please follow <a href="http://www.example.com/">this link</a>.
Este método se utiliza a menudo como alternativa: si el navegador no admite la redirección automática, el visitante aún puede llegar al documento de destino siguiendo el enlace.
Códigos de estado HTTP 3xx En el protocolo HTTP utilizado por la World Wide Web, una redirección es una respuesta con un código de estado que comienza con 3 y que hace que un navegador muestre una página diferente. Si un cliente encuentra un redireccionamiento, debe tomar una serie de decisiones sobre cómo manejar el redireccionamiento. Los clientes utilizan diferentes códigos de estado para comprender el propósito de la redirección, cómo manejar el almacenamiento en caché y qué método de solicitud usar para la solicitud posterior.
HTTP/1.1 define varios códigos de estado para la redirección (RFC 7231):
300 opciones múltiples (por ejemplo, ofrecer diferentes idiomas) 301 movido permanentemente (redirige permanentemente de una URL a otra pasando la equidad del enlace a la página redirigida) 302 encontrado (originalmente "redireccionamiento temporal" en HTTP/1.0 y popularmente usado para scripts CGI; reemplazado por 303 y 307 en HTTP/1.1 pero preservado para compatibilidad con versiones anteriores) 303 ver otro (fuerza una solicitud GET a la nueva URL incluso si la solicitud original fue POST)