URL preusmerenje, takođe nazvano URL forvardovanje, je World Wide Web tehnika za izradu veb stranice dostupne sa više od jedne URL adrese. Kada veb pretraživač pokušava da otvori URL koji je preusmeren, stranica sa drugacijom URL adresom je otvorena. Slično tako, domen redirekcija ili domen forvardovanje je kada su sve stranice iz jednog URL domen-a preusmerene na drugi domen, kao kada wikipedia.com i wikipedia.net su automatski preusmerene na wikipedia.org. URL redirekcija se može koristiti za skraćivanje URL-a, kako bi se sprečili pokidani linkovi kada su veb stranice premeštene, kako bi se omogućilo da više domena koji pripadaju jednom vlasniku pokazuju na jedan veb sajt, da upravlja navigacijom unutar i van sajta, za zaštitu privatnosti, i za manje štetne namere kao što su phishing napadi.

Svrhe Postoji nekoliko razloga za korišćenje URL preusmerenja :

Slična domen imena Korisnik može pogrešno da otkuca URL, na primer, "example.com" i "exmaple.com". Organizacije često registruju te "lose napisane" domene i redirektuju ih na pravu lokaciju: example.com. Adrese example.com i example.net mogu obe da se preusmere na jedan domen ili veb stranicu, kao što je example.org. Ova tehnika se pretežno koristi za "rezervisanje" drugih top-level domena (TLD) sa istim imenom, ili olakša da pravi ".edu" ili ".net" bude preusmeren na poznatiji ".com" domen.

Premeštanje stranica na nov domen Vem stranica može biti preusmerena na novi domen iz tri razloga: sajt može imati želju, odnosno potrebu, da promeni ime domena; autor može premestiti njegovu odnosno njenu stranicu na nov domen; dve veb stranice se mogu spojiti.

Sa URL preusmerenjima, linkovi koji dolaze na zastareli URL mogu biti poslati na pravu lokaciju. Ti linkovi mogu biti sa drugih sajtova koji ne znaju da je došlo do promene od strane dela pregledača u kom korisnici čuvaju bukmarkovane/omiljene stranice.

Isto važi i za pretraživače. Oni često imaju starija/zastarela domen imena i linkove u svojim bazama i poslaće pretrage korisnika ka tim starim URL-ovima. Korišćenjem "trajnog premeštanja" preusmerenje na nov URL, posetioci će ipak doći do prave stranice. Takođe, u sledećem slanju zahteva, pretraživač bi trebalo da detektuje i koristi nov URL.

Beleženje odlaznih linkova Pristupne log informacije većine veb servera čuvaju detaljne informacije o tome odakle su posetioci i kako su pregledali hostovan sajt. Oni, međutim, ne sadrže koje su linkove posetioci napustili. Ovo je tako zato što pregledači posetilaca nemaju potrebu da komuniciraju sa originalnim serverom kada korisnik klikne na odlazni link.

Ova informacija može biti dobijena na nekoliko načina. Jedan način uključuje URL preusmerenje. Umesto slanja posetioca na drugi sajt, linkovi na sajtu mogu ga usmeriti na URL koji je na originalnom vebsajt domenu, koji ga automatski preusmerava na pravi sajt. Mane ove tehnike je kašnjenje izazvano dodatnim slanjem zahteva veb serveru. Kako će ovaj dodatni zahtev ostaviti trag na serveru, otkriće tačno koji je link praćen, to takođe može biti kršenje prava privatnosti.

Ista tehnika se iskoristila od strane nekih korporativnih veb sajtova za implementaciju obračuna čiji se sledeći sadržaj nalazi na drugom sajtu, i stoga nije nužno povezan sa korporacijom. U takvim slučajevima, izbacivanje upozorenja izasiva dodano kačnjenje.

Kratki pseudonimi za duge URL-ove

Veb aplikacije često imaju opširnije opisne atribute u svojim URL-ovima koji predstavljaju hijerarhijske podatke, strukture komandi, putanje transakcije i informacije o sesiji. Ovakva praksa rezultuje resavanju problema URL-ova koji su nepregledni i te[ki za pamćenje i koji se ne uklapaju u ograničenja микроблогинг sajtova. URL skraćivanje servisi nude rešenje za ovaj problem preusmerenjem korisnika na veću URL ardesu sa manje.

Smisleni, trajni pseudonimi za duge ili promenljive URL-ove

Ponekad se URL adresa stranice menja iako sadržaj ostaje isti. Zato URL preusmerenje može pomoći korisnicima koji imaju bukmarkovane stranice. Ovo se rutinski odradi na Vikipediji kada god je stranica preimenovana.

Post/Redirect/Get

Post/Redirect/Get (PRG) spada u veb razvoj dizajnerski patent koji sprečava slanje duplih rezultata form-e, kreirajući mnogo intuitivniji interfejs za korisnike korisnički agent (korisnici).

Manipulisanje pretraživača Tehnike preusmeravanja se koriste da prevare pretraživače. Na primer, jedna strana može da pokaže popularne termine za pretraživanje pretraživaču, ali da preumseri korisnike na drugu stranicu. Postoje takođe slučajevi gde su preumaravanja bila korišćena da "kradu" status popularne stranice i da je iskoriste za neku drugu. Takođe će vas preusmeriti koristeći pretrage pretraživača kao pretragu, najčešće uključujuči 302 HTTP status code - "moved temporarily (trajno premešteno). ". Vlasnici pretraživača su primetili problem i rade na odgovarajućim akcijama. Danas, kao rezultat, takve manipulacije obično rezultiraju razotrkrivanju tog sajta.

Manipulasanje posetioca URL preusmeravanje je nešto što se koristi kao deo phishing napada koji zbune posetioce u pogledu toga koji sajt posećuju. Pošto moderni pretraživači uvek pokažu pravu URL adresu koju posećujemo, ova opasnost je smanjena. Međutim preusmeravanja često mogu odvesti do drugih sajtova, koji će pokušati da napadnu na drugačiji način. Na primer, preusmerenje može odvesti korisnika na sajt, koji će ga prevariti na skidanje antivirusnog softvera, i tako će, ironično, instalirati trojan virus neke vrste umesto toga.

Otklanjanje referer informacija Kada se klikne na link, browser usput pošalje I HTTP request polje zvano referer (ukazivač) koje pokazuje na izvor linka. Ovo polje se sastoji od URL-a trenutne stranice, i završiće u beleškama server koji opslužuje spoljašnji link. Budući da osetljive strane mogu sadržati osetljive URL-ove (na primer, http://company.com/plans-for-the-next-release-of-our-product), nije poželjno da se refereru URLa ostavi organizacija. Strana za preusmeravanja koja izvodi sakrivanje referera može biti ugrađena sve eksterne URL-ove, koji na primer transformišu http://externalsite.com/page u http://redirect.company.com/http://externalsite.com/page. Ova tehnika takođe eliminiše ostale potencijalno osetljive informacija od URL referera(ukazivača), kao što je session ID, i može smanjiti šansu phishing-a pokazujući krajnjem korisniku da je prešao na drugi sajt.

Tehnike Nekoliko drugih odziva brauzer-u može rezultirati preusmerenjem . Oni variraju po pitanju da li utiču na HTTP headers ili HTML sadržaje. Tehnike najčešće variraju u zavisnosti od uloge osobe koja ih implementira i njegovog pristupa različitim delovima sistema. Na primer, web autor bez kontrole nad hederima može da iskoristi Refresh meta tag pošto će web administrator koji vrši preusmeravanja najverovarnije koristiti samu konfiguraciju servera.

Ručno preusmeravanje Najlakša tehnika je pitati posetioca da prati link dat na stranici, najčešće koristeći HTML sidro kao:

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

Ova metoda se najčešće koristi kao dodatna — ako brauzer ne podržava automatska preusmeravanja, posetioc može opet stići do ciljnog dokumenta prateći link.

HTTP status šifre: 3xx U HTTP protokolima korišćenim od strane World Wide Web, preusmerenje je odgovor sašifrom statusa koji počinje sa 3 koja uzrokuje da brauzer prikaže drugu stranicu. Različite šifre predstavljaju različite razloge preusmeravanja, koji omogućavaju određene akcije u skladu sa njima (kao na primer kod menjanja linkova u 301, što uzrokuje trajnom promenom adrese ).

HTTP/1.1 definiše several status codes(nekoliko statusnih šifara) za preusmerenja: 300 multiple choices višestruki izbor. 301 moved permanently trajno premešteno. 302 found (prvobitno "privremeno preusmerenje" u HTTP/1.0 I popularno korišćeno za CGI skripte;potisnuto od strane 303 i 307 u HTTP/1.1 ali sačuvano zbog kompatibilnosti) 303 see other (tera GET zahtev na novi URL iako je prvobitni bio POST) 307 temporary redirect (obezbeđuje novi URL brauzeru za GET ili POST zahtev)

Sve ove šifre statusa očekuju da će URL mete preusmerenja biti dat na lokaciji: heder HTTP odgovora. 300 ”višestruki izbori” će obično izlistati sve izbore u telu poruke i pokazati automatski izbor na lokaciji:heder .

(Šifre statusa 304 not modified i 305 use proxy nisu preusmerenja).

HTTP odgovor sa 301 "trajno premešteno" preusmerenje izgleda ovako:

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

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

Korišćenje serverskog upisa za preusmerenja Web autori koji proizvode HTML sadržaje najčešće ne mogu napraviti preusmerenja koristeći HTTP hedere, jer su oni automatski garantovani od strane programa web servera kada opslužuje HTML fajl. To najčešće važi i za programere koji pišu CGI skripte, iako neki server dozvoljavaju skriptama da dodaju ručne hedere. Mnogi web server če generisati 3xx šifru statusa ako skripta izbaci "Lokacija:" liniju hedera. Na primer, u PHP-u, neko može koristiti funkciju hedera:

header('HTTP/1.1 301 Moved Permanently'); header('Location: http://www.example.com/'); exit(); Programer se mora osigurati da hederi budu izbačeni pre tela . Ovo možda neće lako stajati sa prirodnim tokom kontrola kroz kod. Da bi pomogli sa ovim, neki serveri mogu staviti podatke iz tela pod baffer. U ASP scripting jeziku, ovo takođe može biti postignuto korišćenjem response.buffer=true i response.redirect "http://www.example.com/"

HTTP/1.1 omogućava ili relativne,ili apsolutne URL reference. Ako je referenca URL-a relativna klijent dodeli traženu apsolutnu URI referencu u skladu sa definisanim pravilima: the rules defined in RFC 3986.

Apač mod_rewrite Аpač (server) mod_alias ekstenzija može biti upotrebljena za preusmeravanje određenih zahteva. Tipična konfiguracija direktive izgleda ovako:

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

Za fleksibilnije URL preusmeravanje i preradu Apačev mod_rewrite može biti korišćen. Na primer, za preusmeravanje zahteva u kanoničko područje imena: RewriteEngine on RewriteCond %{HTTP_HOST} ^([^.:]+\.)*oldsite\.example\.com\.?(:[0-9]*)?$ [NC] RewriteRule ^(.*)$ http://newsite.example.net/$1 [R=301,L]

Takva konfiguracija se može primeniti na jednu ili sve lokacije na serveru kroz serverske konfiguracijske fajlove ili prema jednom direktorijumu koji sadrži .htaccess fajl.

nginx prerada Nginx sadrži integrisan http modul za preradu, koji se može koristiti za izvršavanje naprednih URL obrada, pa čak i generisanje web-stranica (sa return direktivom). Primer koji je prikazan je o tako naprednom modulu za preradu mdoc.su, koji implementira determinističke URL usluge skraćivanja, u potpunosti pomoću nginx konfiguracijskog jezika.

Na primer, ako se zahtev za /DragonFlyBSD/HAMMER.5 javi, prvenstveno bi bio preusmeren na /d/HAMMER.5 sa prvom ispod direktivom za preradu (samo bi uticala na unutrašnje stanje, bez ikakvih HTTP odgovora još uvek izdatih klijentu), a zatim će sa drugom direktivom za preradu, HTTP odgovor sa statusom 302 Pronađen biti izdat klijentu da zaista preusmeri na spoljni cgi skript od web-man-a.

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

Osvežavanje Meta tag-a i HTTP zaglavlja Netskejp je predstavio meta osvežavanje koje osveži stranicu posle određenog vremena. Ima mogućnost specifikovanja novog URL-a za zamenu jednu stranicu drugom. Podržano je većine internet pregledača. Pogledaj: HTML tag An exploration of dynamic documents