Anar al contingut

Redirecció d'URL

De L'Enciclopèdia, la wikipedia en valencià

La redirecció d'URL, també cridada reenvío d'URL, és una tècnica de la World Wide Web per a fer que una pàgina web estiga disponible en més d'una direcció URL. Quan un navegador web intenta obrir una URL que ha segut redirigida, s'obri una pàgina en una URL diferent. De manera similar, la redirecció de domini o el reenvío de domini és quan totes les pàgines d'un domini URL es redireccionan a un domini diferent, com quan wikipedia. com i wikipedia. net es redireccionan automàticament a wikipedia. org.

La redirecció d'URL es realisa per vàries raons:

  • Per Acortador d'URL;
  • Per a evitar enllaços trencats quan es mouen pàgines web;
  • Permetre que varis noms de domini pertanyents al mateix propietari facen referència a un únic sitie web;
  • Per a guiar la navegació dins i fòra d'un lloc web;
  • Per a la protecció de la privacitat; i
  • En fins hostils, com a atacs de phishing o distribució de malware.

Propòsits

Hi ha vàries raons per a utilisar la redirecció d'URL:

Noms de domini similars

Un usuari pot escriure mal una URL, per eixemple, "eixemple. com" i "eixemple. com". Les organisacions a sovint registren estos dominis "mal escrits" i els redirigixen a l'ubicació "correcta": eixemple. com. Les direccionar eixemple. com i eixemple. net podrien redirigir a un sol domini o pàgina web, com a eixemple. org. Esta tècnica s'utilisa a sovint per a "reservar" uns atres dominis de nivell superior (DNS) en el mateix nom, o facilitar que un verdader ". edu" o ". net" redirigixca a un domini ". com" més reconeixible.

Moure pàgines a un nou domini

Les pàgines web poden redirigir-se a un nou domini per tres motius:

  • Un lloc pot desijar, o necessitar, canviar el seu nom de domini;
  • Un autor pot moure les seues pàgines individuals a un nou domini;
  • Dos llocs web poden fusionar-se.

En les redireccions d'URL, els enllaços entrantes a una URL obsoleta es poden enviar a l'ubicació correcta. Estos enllaços poden ser d'atres llocs que no s'han donat conte de que hi ha un canvi o de marcadors/favorits que els usuaris han guardat en els seus navegadors. Lo mateixa s'aplica als motors de busca. A sovint tenen els noms de domini i enllaços més antics/obsolets en la seua base de senyes i enviaran als usuaris de busca a estes URL antigues. En utilisar un redireccionamiento "mogut permanentment" a la nova URL, els visitants seguiran aplegant a la pàgina correcta. Ademés, en la següent passada del motor de busca, el motor de busca deuria detectar i utilisar l'URL més nova.

Registre d'enllaços eixints

Els registres d'accés de la majoria dels servidors web guarden informació detallada sobre d'on varen vindre els visitants i cóm varen navegar pel lloc estajat. No obstant, no registren qué enllaços varen deixar els visitants. Açò es deu a que el navegador del visitant no necessita comunicar-se en el servidor original quan el visitant fa clic en un enllaç eixint. Esta informació es pot capturar de vàries formes. Una forma implica la redirecció d'URL. En lloc d'enviar al visitant directament a l'atre lloc, els enllaços en el lloc poden dirigir a una URL en el domini del sitie web original que redirigix automàticament a l'objectiu real. Esta tècnica té la desventaja del retart causat per la solicitut adicional al servidor del sitie web original. Com esta solicitut adicional deixarà un rastre en el registre del servidor, revelant exactament quin enllaç es va seguir, també pot ser un problema de privacitat. Alguns llocs web corporatius també utilisen la mateixa tècnica per a implementar una declaració de que el contingut posterior es troba en un atre lloc i, per lo tant, no necessàriament està afiliat a la corporació. En tals escenaris, mostrar l'advertència provoca un retart adicional.

Àlies curts per a URL llargues

Artícul principal → Acortador d'URL.

Les aplicacions web a sovint inclouen atributs descriptius extensos en les seues URL que representen jerarquia de senyes, estructures de comando, rutes de transaccions i informació de sessió. Esta pràctica dona com resultat una URL que és estèticament desagradable i difícil de recordar, i que pot no ajustar-se a les llimitacions de tamany dels llocs de microblogging. Els servicis d'acurtada d'URL brinden una solució a este problema en redirigir a un usuari a una URL més llarga des d'una més curta.

Àlies significatius i persistents per a URL llargues o canviants

Plantilla:Vejau A voltes, l'URL d'una pàgina canvia a pesar de que el contingut seguix sent el mateix. Per lo tant, la redirecció d'URL pot ajudar als usuaris que tenen marcadors. Açò es fa habitualment en Wikipedia cada volta que es canvia el nom d'una pàgina.

Publicar/Redirigir/Obtindre

Publicar/Redirigir/Obtindre (PRO) és un patró de disseny de desenrolle web que evita alguns enviaments de formularis duplicats si l'usuari fa clic en el botó d'actualisació despuix d'enviar el formulari, creant un interfaç més intuïtiu per als agents d'usuari (usuaris).

Orientació per dispositiu i orientació geogràfica

Els redireccionamientos es poden utilisar de forma eficaç en fins de segmentación, com la segmentación geogràfica. La segmentación per dispositiu s'ha tornat cada volta més important en l'aument dels clients mòvils. Hi ha dos enfocaments per a atendre als usuaris de dispositius mòvils: fer que el lloc web siga receptiu o redirigir a una versió de lloc web per a dispositius mòvils. Si s'oferix una versió del sitie web mòvil, els usuaris en clients mòvils seran automàticament redirigits al contingut mòvil corresponent. Per a la segmentación per dispositiu, s'utilisen redireccionamientos del costat del client o redireccionamientos del costat del servidor que no es poden almagasenar en caché. La segmentación geogràfica és l'enfocament per a oferir contingut localisat i reenviar automàticament a l'usuari a una versió localisada de l'URL solicitada. Açò és útil per als llocs web que es dirigixen al públic en més d'una ubicació i/o idioma. Per lo general, els redireccionamientos del costat del servidor s'utilisen per a la segmentación geogràfica, pero els redireccionamientos del costat del client també poden ser una opció, segons els requisits.[1]

Manipular motors de busca

Els redireccionamientos s'han utilisat per a manipular motors de busca en intencions poc ètiques, per eixemple, seqüestre d'URL. L'objectiu de les redireccions enganyoses és dirigir el tràfic de busca a les pàgines de destí, que no tenen suficient poder de classificació per sí mateixes o que solament estan relacionades de forma remota o no estan relacionades en l'objectiu de busca. L'enfocament requerix una classificació per a un ranc de térmens de busca en una série d'URL que utilisarien redireccionamientos furtius per a reenviar al buscador a la pàgina de destí. Este método va tindre una renaixença en l'auge dels dispositius mòvils i l'orientació per dispositiu. El seqüestre d'URL és una tècnica de redireccionamiento fora del domini[2] que explota la naturalea del maneig del motor de busca per a redireccionamientos temporals. Si es troba un redireccionamiento temporal, els motors de busca tenen que decidir si assignen el valor de classificació a l'URL que inicializa el redireccionamiento oa l'URL de destí del redireccionamiento. L'URL que inicia el redireccionamiento pot mantindre's per a mostrar-se en els resultats de busca, ya que el redireccionamiento indica una naturalea temporal. En determinades circumstàncies, va ser possible explotar este comportament aplicant redireccionamientos temporals a URL ben posicionades, lo que va dur a una tongada de l'URL original en els resultats de busca per l'URL que inicializó la redirecció, "furtant" la classificació. Este método generalment es combinava en redireccionamientos furtius per a redirigir el fluix d'usuaris dels resultats de busca a una pàgina de destí. Els motors de busca han desenrollat tecnologies eficients per a detectar este tipo d'enfocaments manipuladors. Els principals motors de busca solen aplicar severes sancions de classificació en els llocs que són atrapats aplicant tècniques com estes.[3]

Manipular visitants

La redirecció d'URL s'utilisa a voltes com a part dels atacs de phishing que confonen als visitants sobre qué sitie web estan visitant.[4] Degut a que els navegadors moderns sempre mostren l'URL real en la barra de direccions, l'amenaça es reduïx. No obstant, els redireccionamientos també poden dur-ho a llocs que d'una atra manera intentaran atacar d'atres formes. Per eixemple, una redirecció podria dur a un usuari a un lloc que intentaria enganyar-ho per a que descarregue software antivirus i instale un troyano d'algun tipo.

Eliminar informació del Referer

Quan es fa clic en un enllaç, el navegador envia junt en la solicitut HTTP un camp cridat Referer que indica la font de l'enllaç. Este camp es completa en l'URL de la pàgina web actual i terminarà en els registres del servidor que servix l'enllaç extern. Ya que les pàgines sensibles poden tindre URL sensibles (per eixemple, http://company.com/plans-for-the-next-release-of-our-product), no és convenient que l'URL de referer abandone l'organisació. Una pàgina de redirecció que realisa l'ocultació de referer podria estar incrustada en totes les URL externes, transformant, per eixemple http://externalsite.com/page dins http://redirect.company.com/http://externalsite.com/page. Esta tècnica també elimina una atra informació potencialment confidencial de l'URL de referència, com l'ANEU de sessió, i pot reduir la possibilitat de phishing en indicar a l'usuari final que va passar una porta d'enllaç clara a un atre lloc.

Implementació

Varis tipos diferents de resposta al navegador resultaran en una redirecció. Estos varien sobre si afecten a les capçaleres HTTP o al contingut HTML. Les tècniques utilisades normalment depenen del rol de la persona que les implementa i el seu accés a diferents parts del sistema. Per eixemple, un autor web sense control sobre els encapçalats pot usar una metaetiqueta Actualisar, mentres que un administrador del servidor web que redirigix totes les pàgines d'un lloc és més provable que use la configuració del servidor.

Redireccionamiento manual

La tècnica més simple és demanar-li al visitant que seguixca un enllaç a la nova pàgina, generalment usant un ancora HTML com:

Please follow <a href="http://www.example.com/">this link</a>.

Este método s'utilisa a sovint com a alternativa: si el navegador no admet la redirecció automàtica, el visitant encara pot aplegar al document de destí seguint l'enllaç.

Còdics d'estat HTTP 3xx

En el protocol HTTP utilisat per la World Wide Web, una redirecció és una resposta en un còdic d'estat que comença en 3 i que fa que un navegador mostre una pàgina diferent. Si un client troba un redireccionamiento, deu prendre una série de decisions sobre cóm manejar el redireccionamiento. Els clients utilisen diferents còdics d'estat per a comprendre el propòsit de la redirecció, cóm manejar l'almagasenament en caché i quin método de solicitut usar per a la solicitut posterior.

HTTP/1.1 definix varis còdics d'estat per a la redirecció (RFC 7231):

  • 300 opcions múltiples (per eixemple, oferir diferents idiomes)
  • 301 mogut permanentment (redirigix permanentment d'una URL a una atra passant l'equitat de l'enllaç a la pàgina redirigida)
  • 302 trobat (originalment "redireccionamiento temporal" en HTTP/1.0 i popularment usat per a scripts CGI; reemplaçat per 303 i 307 en HTTP/1.1 pero preservat per a compatibilitat en versions anteriors)
  • 303 vore un atre (força una solicitut GET la nova URL inclús si la solicitut original va ser POST)
  • 307 redireccionamiento temporal (proporciona una nova URL per a que el navegador torne a enviar una solicitut GET o POST)
  • 308 redirecció permanent (proporciona una nova URL per a que el navegador torne a enviar una solicitut GET o POST)

Redirigir còdics d'estat i característiques

Còdic d'Estat HTTP Versió HTTP Temporalment / Permanentment Caché Método de Solicitut Solicitut Posterior
301 HTTP/1.0 Permanentment Plantilla:Sí GET/POST pot canviar
302 HTTP/1.0 Temporalment No GET/POST pot canviar
303 HTTP/1.1 Temporalment No Sempre GET
307 HTTP/1.1 Temporalment No Pot ser que no canvie
308 HTTP/1.1 Permanentment Plantilla:Sí Pot ser que no canvie

[5]

Tots estos còdics d'estat requerixen que es proporcione l'URL del destí de la redirecció en l'encapçalat Ubicació: de la resposta HTTP. Les 300 opcions múltiples generalment enumeraran totes les opcions en el cos del mensage i mostraran l'opció predeterminada en l'Ubicació: encapçalat.

(Els còdics d'estat 304 no modificats i 305 usen proxy no són redireccionamientos).

Eixemple de resposta HTTP per a un redireccionamiento 301

Una resposta HTTP en el redireccionamiento 301 "mogut permanentment" es veu aixina:

HTTP/1.1 301 Mogau Permanently
Location: http://www.example.org/
Content-Type: text/html
Content-Length: 174

<html>
<head>
<title>Mogau</title>
</head>
<body>
<h1>Mogau</h1>
<p>This page has mogau to <a href="http://www.example.org/">http://www.example.org/</a>.</p>
</body>
</html>

Usar seqüències de comandos del costat del servidor per a la redirecció

Els autors web que produïxen contingut HTML generalment no poden crear redireccionamientos utilisant encapçalats HTTP, ya que estos són generats automàticament pel programa del servidor web quan s'entrega un archiu HTML. Lo mateixa sol ser cert inclús per als programadors que escriuen scripts CGI, encara que alguns servidors permeten que els scripts agreguen encapçalats personalisats (per eixemple, habilitant "encapçalats no analisats"). Molts servidors web generaran un còdic d'estat 3xx si un script genera una llínea d'encapçalat "Ubicació:". Per eixemple, en PHP, es pot usar la funció "encapçalat":

header('HTTP/1.1 301 Mogau Permanently');
header('Location: http://www.example.com/');
exit();

És possible que es requerixquen més encapçalats per a evitar l'almagasenament en caché.[6] El programador deu assegurar-se de que els encapçalats s'emeten abans que el cos. És possible que açò no encaix fàcilment en el fluix natural de control a través del còdic. Per a ajudar en açò, alguns marcs per a la generació de contingut del costat del servidor poden almagasenar les senyes del cos. En el llenguage de seqüències de comandos ASP, açò també es pot conseguir utilisant response. buffer=true i response. redirect "http://www.example.com/" HTTP / 1.1 permet una referència URI relativa o una referència URI absoluta.[7] Si la referència d'URI és relativa, el client calcula la referència d'URI absoluta requerida d'acort en les regles definides en RFC 3986.[8]

Servidor HTTP Apache mod_rewrite

L'extensió mod_àlies del Servidor HTTP Apache es pot utilisar per a redirigir determinades solicituts. Les directives de configuració típiques es veuen aixina:

Redirect permanent /oldpage. html http://www.example.com/newpage.html
Redirect 301 /oldpage. html http://www.example.com/newpage.html

Per a una reescritura i redirecció d'URL més flexibles, es pot utilisar Apache mod_rewrite. Per eixemple, per a redirigir una solicitut a un nom de domini canònic:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^([^.:]+.)**oldsite. example. com.?(:[0-9])?&#36; [NC]
RewriteRule ^(.)&#36; http://newsite.example.net/$1 [R=301,L]

Esta configuració es pot aplicar a un o tots els llocs del servidor a través dels archius de configuració del servidor oa un únic directori de contingut a través d'un archiu . htaccess.

Nginx reescrit

Nginx té un mòdul de reescritura http integrat,[9] que es pot utilisar per a realisar un processament alvançat d'URL i inclús la generació de pàgines web (en la directiva de tornada). Un eixemple que mostra l'us tan alvançat del mòdul de reescritura és mdoc. el seu, que implementa un servici d'acurtada d'URL determinista completament en l'ajuda del llenguage de configuració nginx solament.[10][11]

Per eixemple, si aplegara una solicitut per a /DragonFlyBSD/HAMMER.5, primer es redirigiria internament a /d/HAMMER.5 en la primera directiva de reescritura a continuació (solament afecta a l'estat intern, sense cap resposta HTTP emesa al client encara), i després en la segona directiva de reescritura, s'enviaria al client una resposta HTTP en un còdic d'estat 302 Trobat per a redirigir-ho al script cgi extern de web-man:[12]

	location /DragonFly {
		rewrite	^/DragonFly(BSD)?([,/].)?&#36;	/d&#36;2	last;
	}
	location /d {
		set	&#36;db	"http://leaf.dragonflybsd.org/cgi/web-man?command=";
		set	&#36;ds	"&section=";
		rewrite	^/./([^/]+).([1-9])&#36;		&#36;db&#36;1&#36;ds&#36;2	redirect;
	}

Actualisar metaetiqueta i encapçalat d'actualisació HTTP

Netscape va introduir la funció d'actualisació de meta que actualisa una pàgina despuix d'un cert periodo de temps. Açò pot especificar una nova URL per a reemplaçar una pàgina per una atra. Açò és compatible en la majoria dels navegadors web.[13][14] Un temps d'espera de zero segons produïx una redirecció immediata. Google ho tracta com un redireccionamiento permanent 301, lo que permet la transferència de PageRank a la pàgina de destí.[15]

Est és un eixemple d'un document HTML simple que utilisa esta tècnica:

<html>
<head>
  <fique http-equiv="Refresh" content="0; url=http://www.example.com/" />
</head>
<body>
  <p>Please follow <a href="http://www.example.com/">this link</a>.</p>
</body>
</html>

Els autors web poden utilisar esta tècnica perque la metaetiqueta es troba dins del propi document. La metaetiqueta deu colocar-se en la secció "encapçalat" de l'archiu HTML. El número "0" en este eixemple pot reemplaçar-se per un atre número per a conseguir un retart d'eixa cantitat de segons. L'ancora en la secció "cos" és per a usuaris els navegadors dels quals no admeten esta funció.

El mateix efecte es pot conseguir en un encapçalat de refresh HTTP:

HTTP/1.1 200 OK
Refresh: 0; url=http://www.example.com/
Content-Type: text/html
Content-Length: 78

Please follow <a href="http://www.example.com/">this link</a>.

Esta resposta és més fàcil de generar per mig de programes CGI perque no és necessari canviar el còdic d'estat predeterminat.

Ací hi ha un programa CGI simple que efectua esta redirecció:

#!/usr/bin/perl
print "Refresh: 0; url=http://www.example.com/\r\n";
print "Content-Type: text/html
";
print "
";
print "Please follow <a href="http://www.example.com/\">this link</a>!"

Nota: Per lo general, el servidor HTTP agrega la llínea d'estat i l'encapçalat Content-Length automàticament.

El W3C desaconsella l'us de la fique actualisació, ya que no comunica cap informació sobre el recurs original o nou al navegador (o motor de busca). Les Pautes d'accessibilitat al contingut web del W3C (7.4)[16] desalientan la creació de pàgines que s'actualisen automàticament, ya que la majoria dels navegadors web no permeten que l'usuari deshabilite o controle la freqüència d'actualisació. Alguns dels artículs que han escrit sobre el tema inclouen les Pautes d'Accessibilitat al Contingut Web del W3C (1.0): Garantise el Control de l'Usuari dels Canvis de Contingut Urgents, Usar redireccionamientos estàndar: ¡no trenque el botó de reculada![17] i Tècniques Bàsiques per a les Directrius d'Accessibilitat al Contingut Web 1.0 Secció 7.[18]

Redireccionamientos JavaScript

JavaScript pot causar una redirecció configurant l'atribut window. location, per eixemple:

window. location='http://www.example.com/'

Normalment, JavaScript inserta l'URL del lloc redirector en l'historial del navegador. Pot causar bucles de redirecció quan els usuaris pressionen el botó Arrere. En el següent comando pots previndre este tipo de comportament.[19]

window. location. replace('http://www.example.com/')

No obstant, els encapçalats HTTP o la metaetiqueta d'actualisació poden ser preferits per raons de seguritat i perque alguns navegadors i molts rastrejadors web no eixecutaran JavaScript.

Redireccions de marcs

Es pot conseguir un efecte llaugerament diferent creant un marc en llínea:

<iframe height="100%" width="100%" src="http://www.example.com/">
Please follow <a href="http://www.example.com/">link</a>.
</iframe>

Una diferència principal en els métodos de redireccionamiento anteriors és que per a un redireccionamiento de marc, el navegador mostra l'URL del document del marc i no l'URL de la pàgina de destí en la barra d'URL. Esta tècnica d'encobriment pot usar-se per a que el llector veja una URL més memorable o per a ocultar de manera fraudulenta un lloc de phishing com a part de la suplantació de llocs web.[20]

Abans d'HTML5,[21] es podia fer el mateix efecte en un marc HTML que conté la pàgina de destí:

<frameset rows="100%">
  <frame src="http://www.example.com/">
  <noframes>
    <body>Please follow <a href="http://www.example.com/">link</a>.</body>
  </noframes>
</frameset>

Cadenes de redireccionamiento

Un redireccionamiento pot dur a un atre. Per eixemple, l'URL "http://wikipedia.com" (en " . com" com a domini) es redirigix primer a https://www.wikipedia.org/ (en el nom de domini en . org), a on pot navegue fins al lloc específic de l'idioma. Açò és inevitable si els diferents enllaços de la cadena són atesos per diferents servidors, encara que deu minimisar-se reescrivint l'URL tant com siga possible en el servidor abans de tornar-la al navegador com una redirecció.

Wikipedia ha redirigit les seues pàgines a HTTPS de forma predeterminada des de 2015.[22]

Redirigir bucles

A voltes, un error pot fer que una pàgina termine redirigint-se a sí mateixa, possiblement a través d'atres pàgines, donant lloc a una seqüència infinita de redireccionamientos. Els navegadors deurien deixar de redireccionar despuix d'una certa cantitat de bots i mostrar un mensage d'error.

L'estàndar HTTP/1.1 establix:[23]

Un client DEU detectar i intervindre en redireccions cíclicas (és dir, bucles de redirecció "infinits").

Nota: Una versió anterior d'esta especificació recomanava un màxim de cinc redireccions ([RFC 2068], Secció 10.3). Els desenrolladors de contingut deuen ser conscients de que alguns clients poden implementar una llimitació tan fixa.

Vore també

Referències

  1. ↑ «Redirects & SÈU - The Total Guide». Audisto. Consultat el 2015-11-29.
  2. ↑ «SÈU advice: discussing 302 redirects». Matt Cutts, former Head of Google Webspam Team (2006-01-04).
  3. ↑ «Sneaky Redirects». Google Webmaster Guidelines (2015-12-03).
  4. ↑ «Unvalidated Redirects and Forwards Cheat Sheet». Open Web Application Security Project (OWASP) (2014-08-21).
  5. ↑ «Redirects & SÈU - The Complete Guide». Audisto. Consultat el 2015-11-29.
  6. ↑ «PHP Redirects: 302 to 301 Roc Solid Robust Solution». WebSiteFactors. co. uk. Archivat des de l'original, el 2012-10-12.
  7. ↑ Plantilla:Cite IETF
  8. ↑ Plantilla:Cite IETF
  9. ↑ «Module ngx_http_rewrite_module - rewrite». nginx. org. Consultat el 2014-12-24.
  10. ↑ Plantilla:Cite mailing list
  11. ↑ Murenin, Constantine A. (2013-02-23). «mdoc. el seu – Short manual page URLs for FreeBSD, OpenBSD, NetBSD and DragonFly BSD». Consultat el 2014-12-25.
  12. ↑ Murenin, Constantine A. (2013-02-23). «mdoc. el seu. nginx. conf». Consultat el 2014-12-25.
  13. ↑ «HTML fique tag». www. w3schools. com.
  14. ↑ «An Exploration of Dynamic Documents» (2002-08-02). Archivat des de l'original, el 2002-08-02.
  15. ↑ "Google and Yahoo accept undelayed meta refreshs as 301 redirects". Sebastian's Pamphlets. 3 September 2007.
  16. ↑ «Web Content Accessibility Guidelines 1.0». www. w3. org.
  17. ↑ Team, the QA. «Use standard redirects». www. w3. org.
  18. ↑ «Core Techniques for Web Content Accessibility Guidelines 1.0». www. w3. org.
  19. ↑ «Cross-browser client side URL redirect generator». Insider Zone. Archivat des de l'original, el 26 de juliol de 2020. Consultat el 8 de novembre de 2020.
  20. ↑ Aaron Emigh (19 January 2005). "Anti-Phishing Technology"
  21. ↑ «HTML 5.2: 11. Obsolete features». www. w3. org.
  22. ↑ Wikipedia to start using secure HTTPS by default for all users VentureBeat article, 12 June 2015
  23. ↑ Plantilla:Cite IETF