HTTP referer (izvorno je pogrešno napisana reč engl. referrer, ali je taj oblik zadržan) je HTTP zaglavlje koje identifikuje adresu veb stranice (tj. URI ili IRI) koji je povezan sa izvorom koji se traži. Proverom Referer, nova veb stranica možete da vidi odakle je zahtev potekao.

Najčešće ovo znači da kada korisnik klikne na hipervezu u veb pregledaču, pregledač šalje hatev serveru na kojem je odredišna stranica. Zahtev obuhvata polje izvora (referrer), koje upućuje na poslednju stranicu na kojoj je korisnik bio (na onu gde je kliknut link).

Referrer logovanje je dozvoljava veb-sajtovima i veb-serverima da identifikuju odakle su ljudi koji ih posećuju, u promotivne ili statističke svrhe.[1]

Referer se ponekad koristi u borbi protiv cross-site falsifikovanih zahteva, ali takvi bezbednosni mehanizmi su ograničeni lakoćom onemogućavanja ili falsifikovanje referer[2]. Deferer je sredsto da se skinu detalji koji se odnose na sajt, tako da ciljani vebsajt ne može identifikuje stranicu sa koje potiče zahtev.

Poreklo pojma referer uredi

Pogrešno pisanje reči referer nastalo je u prvobitnom predlogu kompjuterskog naučnika Filipa Halam-Bejker da se uvrsti polje u HTTP specifikaciju.[3] Da se referer pogrešno speluje je zapečaćeno u vreme njegovog uključivanja u {{Request for Comments}}standards dokumentu RFC 1945; Koautor dokumenta, Roj Filding, je primetio da ni "referrer" ni pogrešno napisan "referer" nisu bili prepoznati od strane Unix pravopisnog standarda.[4] "Referer" je od tada postao široko upotrebljivan za spelovanje u industriji kada se pričalo o HTTP referers; upotreba pogrešno napisane reči nije univerzalna, iako, pravilno napisan "referrer" se koristi u nekim veb specifikacijama kao što je Document Object Model.

Detalji uredi

Prilikom posete vebstranici, referer ili stranica na koju se odnosi je URL prethodne vebstranice na kojoj se nalazio link ka posećenoj strani.

Uopšteno, referer je URL stavke koja prethodila zahtevu. Referer za sliku, na primer, je obično HTML stranica na kojoj se ona nalazila. Polje referer-a je opcioni deo HTTP zahteva poslat od stranze veb pregledača veb serveru.[5]

Mnogi vebsajtovi čuvaju referere kao deo nastojanja da prate svoje korisnike. Većina veb softvera za analizu zapisa može da analizira ovu informaciju. Zato što informacije koje sadrži referer mogu da naruše privatnost, neki veb pregledači dozvoljavaju korisnicima da onemoguće slanje ovakvih informacija.[6] Neki proksi i fajervol softveri takođe filtriraju ovakve informacije, kako bi izbegli objavljivanje privatnih veb sajtova. Ovo može prouzrokovati probleme: neki veb serveri blokiraju delove svojih vebsajtova veb pregledačima koji ne šalju odgovarajuće referer informacije, kako bi sprečila objavljivanje ili neovlašćeno korišćenje slika engl. bandwidth krađa. Neki proksi softveri imaju mogućnost da pruže najzastupljenije adrese ciljanog vebsajta kao referer, što uglavnom sprečava spomenut problem bez otkrivanja poslednje posećenog veb sajta korisnika.

U poslednje vreme mnogi blogovi su počeli da objavljuju referer informacije kako bi se povezali sa ljudima koji njih linkuju, i samim tim nastavili razgovor. Ovo je dovelo, zauzvrat, do porasta referer spama: slanje lažnih referer informacija kako bi se popularizovao vebsajt spamera.

Mnogi pornografski sajtovi koji se naplaćuju koriste referer informacije kako bi se osigurali. Samo veb pregledači koji dolaze iz malog skupa odobrenih stranica (za prijavljivanje) je dozvoljen pristup; ovo olakšava razmenu materijala unutar grupe sajtova koji sarađuju. Referer zavaravanje se često koristi da se dobije besplatan pristup sajtovima koji se naplaćuju. Moguće je pristuptiti referer informacijama sa klijentske strane koristeći document.referer u JavaScript-u.[7]

Ovo se može koristiti, na primer, da se personalizuje veb stranica na osnovu korističkih upita. Međutim, referer polje ne obuhvata uvek upite, kao na primer kada se koristi Gugl engl. Google) pregledač sa https zastićenim protokolom.[8]

Skrivanje referera uredi

Većina veb servera čuva evidenciju saobraćaja i čuva HTTP engl. referer koji mu šalje veb pregledač za svaki zahtev. Ovo postavlja brojna pitanja o privatnosti, a kao rezultat, veliki broj sistema je stvoren da spreči da se veb serverima šalju pravi URL. Ovi sistemi rade ili tako što brišu polje engl. referer ili tako što menjaju podatke netačnim. Generalno, internet sigurnost šalju prazno polje umesto engl. referer podataka , dok veb serveri menjaju ga sa lažnim URL, obično svojim. Ovo, naravno, pokreće problem referrer spama. Tehnički detalji obe metode su prilično ujednačeni – softverske aplikacije se ponašaju kao proksi server i manipuliše HTTP engl. referer URL njihove vebsajt adrese. Neki veb pregledači daju svoje korinike opciju da isključe referer polje u zagavlje.[6]

Generalno, Internet bezbednosnih rešenja prazne referer podataka, a veb-bazirani serveri ga zamene lažnim URL, najčešće svoje. To, naravno, povećava problem referer spam. Tehnički detalji obe metode su prilično ujednačeni - softverskih aplikacija se ponaša kao proki server i manipulišu HTTP zahtev, a veb-zasnovanih metoda učitavanja veb sajtovi unutar okvira, izaziva veb brovser da pošalje URL referer svog veb adresu. Većina veb pregledača ne šalju referrer polje kada oni im se upućuje da preusmere stranu korišćenja Osveži polja. Ovo ne uključuje neke verzije Opera i mnoge mobilne veb pregledače. Ipak, ova metoda preusmeravanja ne preporučuje World Wide Web Consortium engl. W3C.[9]

Ako se vebsajtu pristupa sa (engl. HTTP Secure) konekcijom i link ukazuje bilo gde izuzev druge sigurne lokacije, onda referer polje nije poslato.[10]

Predstojeći standard HTML5 će podržavati atribut/vrednost rel = "noreferrer" u kako bi se uputio agent korisnika da ne šalje referer.[11]

Reference uredi

  1. ^ Kyrnin, Jennifer (10. 4. 2012). „Referrer - What is a Referrer - How do HTTP Referrers Work?”. About.com. Arhivirano iz originala 29. 05. 2013. g. Pristupljeno 20. 3. 2013. 
  2. ^ Wharton, David (29. 10. 2007). „XSRF: Checking HTTP Referer Header Is Not Enough”. Dell SecureWorks. Arhivirano iz originala 8. 3. 2013. g. Pristupljeno 20. 3. 2013. 
  3. ^ Hallam-Baker, Phillip (21. 9. 2000). „Re: Is Al Gore The Father of the Internet?”. alt.folklore.computers. Pristupljeno 20. 3. 2013. 
  4. ^ Fielding, Roy (9. 3. 1995). „Re: Referer: (sic)”. ietf-http-wg-old. Pristupljeno 20. 3. 2013. 
  5. ^ „Hypertext Transfer Protocol -- HTTP/1.1 (RFC 2616 § 14.36)”. IETF. jun 1999. Pristupljeno 20. 3. 2013. „The Referer[sic] request-header field allows the client to specify […] the address (URI) of the resource from which the Request-URI was obtained […] 
  6. ^ a b „Network.http.sendRefererHeader”. MozillaZine. 10. 6. 2007. Pristupljeno 20. 3. 2013. 
  7. ^ „HTML DOM Document referrer Property”. w3schools.com. Pristupljeno 20. 3. 2013. 
  8. ^ Gundersen, Bret (19. 10. 2011). „The Impact of Google Encrypted Search”. Adobe Digital Marketing Blog. Pristupljeno 20. 3. 2013. [mrtva veza]
  9. ^ „HTML Techniques for Web Content Accessibility Guidelines 1.0: The META element”. W3C. 6. 11. 2000. Pristupljeno 20. 3. 2013. 
  10. ^ „Hypertext Transfer Protocol -- HTTP/1.1: Encoding Sensitive Information in URI's (RFC 2616 § 15.1.3)”. IETF. jun 1999. Pristupljeno 20. 3. 2013. „Clients SHOULD NOT include a Referer[sic] header field in a (non-secure) HTTP request if the referring page was transferred with a secure protocol 
  11. ^ „4.12 Links — HTML Living Standard: 4.12.5.8 Link type "noreferrer". WHATWG. 20. 3. 2013. Pristupljeno 20. 3. 2013.