Korisnički agent

Iz Vikipedije, slobodne enciklopedije
Idi na navigaciju Idi na pretragu

U računarstvu korisnički agent je softver (softverski agent) koji radi u ime korisnika. Na primer, čitač elektronske pošte je poštanski korisnički agent, a u SIP protokolu, termin korisnički agent se odnosi na obe krajnje tačke u komunikacionoj sesiji.[1]

U mnogo slučajeva, korisnički agent ima ulogu klijenta u mrežnom protokolu korišćenom u komunikaciji u unutar klijent-server računarskih sistema. Tako, na primer, HTTP identifikuje ko je napravio zahtev pomoću „User-Agent“ zaglavlja, čak i kada klijent nije pod direktnom kontrolom korisnika. SIP (koji je zasnovan na HTTP) radi isto.

Identifikacija korisničkog agenta[uredi]

Kada softverski agent radi u okviru nekog mrežnog protokola, on često predstavlja sebe, koji je tip aplikacije, operativni sistem, svog proizvođača ili verziju, tako što šalje karakterističnu identifikacionu nisku računaru sa kojim komunicira. U HTTP, SIP i SMTP/NNTP[2]protokolima, ova identifikacija je poslata u polju zaglavlja User-Agent. Internet botovi, kao što su Veb kroleri, često uključuju i URL i/ili imejl adresu tako da Vebmasteri mogu da kontaktiraju vlasnika bota.

U HTTP, User-Agent niska se često koristi u pregovaranju o sadržaju, gde server odabira odgovarajući sadržaj ili radne parametre za odgovor. Na primer, server je može iskoristiti da odabere varijantu stranice koja odgovara mogućnostima klijentskog softvera.

Niska User-Agent je jedan od uslova po kojima Veb krolerima može biti odbijen pristup određenim delovima Veb sajta korišćenjem standarda o isključenju robota (Robots Exclusion Standard) (robots.txt fajl).

Mogući problemi sa privatnošću[uredi]

Kao i mnogi drugi HTTP zahtevi, informacija u „User-Agent“ nisci doprinosi ličnim podacima koje klijent šalje serveru, s obzirom da niske mogu značajno da variraju među korisnicima.[3]

Format[uredi]

Format User-Agent niske je trenutno definisan odeljkom 14.43 dokumenta RFC 2616 (HTTP/1.1). Format niske u HTTP-u je lista tokena (ključnih reči) proizvoda sa mogućim komentarima. Na primer, ako se vaš proizvod zove WikiBrowser, vaša niska korisničkog agenta bi mogla biti WikiBrowser/1.0 Gecko/1.0. „Najvažnija“ komponenta se navodi prva. Delovi niske su:

  • Naziv proizvoda i verzija (WikiBrowser/1.0)
  • Rendering endžin i verzija (Gecko/1.0). U našem slučaju ovo je rendering endžin i njegova verzija.

Na primer Safari na Ajpedu je koristio sledeću nisku:

 Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405

Delovi niske su:

  • Mozilla/5.0: Nekada je ovo korišćeno da se označi kompatibilnost sa Mozilinim rendering endžinom
  • (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us): Detalji sistema na kome je pregledač pokrenut.
  • AppleWebKit/531.21.10: Platforma koju pregledač koristi.
  • (KHTML, like Gecko): Detalji platforme.
  • Mobile/7B405: Ovo se koristi od strane pregledača da ukaže na određena unapređenja koja su dostupna direktno u pregledaču ili kroz dodatke.

Lažiranje korisničog agenta[uredi]

Popularnost različitih Veb pregledača je varirala kroz istoriju Veba i ovo je uticalo na dizajn veb sajtova tako da su oni pravljeni da funkcionišu samo sa određenim pregledačima, umesto po standardima W3C-a ili IETF-a. Veb sajtovi često uključuju kod za otkrivanje verzija pregledača kako bi prilagodili stranicu koja se šalje nisci korisničkog agenta koju su primili. Ovo može značiti da manje popularnim pregledačima nije poslat neki složeniji sadržaj (čak i kada ti pregledači mogu da prikažu takav sadržaj) ili im se, čak, odbija pristup.[4] Zbog toga mnogi pregledači imaju mogućnost da zamaskiraju iliti lažiraju svoju identifikaciju, kako bi primorali servere da im isporuče određeni sadržaj. Na primer Android pregledeč se (između ostalog) predstavlja kao Safari, kako bi podstakao kompatibilnost sa određenim sajtovima.[5][6]

Drugi HTTP klijentski programi, kao što su menadžeri preuzimanja i oflajn pregledači, često imaju mogućnost da promene svoje niske korisničkog agenta.

Spem botovi i Veb skupljači često koriste lažne korisničke agente.

Jedno vreme je među Veb programerima bilo popularno da pokreću kampanje Vidljivo iz svakog pregledača,[7] kako bi ohrabrili druge programere da prave Veb stranice koje rade dobro sa bilo kojim pregledačem.

Rezultat lažiranja korisničih agenata je da sakupljena statistika na nije precizna.

Otkrivanje korisničkog agenta[uredi]

Termin otkrivanje korisničkog agenta se odnosi na praksu Veb sajtova da prikazuju različit sadržaj u zavisnosti iz kog pregledača im se pristupa. Otkrivanje korisničkog agenta se često smatra lošim, jer podstiče pravljenje sajtova za određene pregledače i kažnjava nove pregledače čija identifikacija nija prepoznata. Umesto toga, W3C preporučuje pravljenje HTML koda koji je po standardu[8], dozvoljavajući da se stranica prikazuje ispravno u što više pregledača, a da se testiraju mogućnosti određenog pregledača, a ne neke njegove određene verzije ili brenda.[9]

Označavanje jačine enkripcije[uredi]

Veb pregledači napravljeni u SAD, kao što su Netskejp navigator ili Internet eksplorer, koriste slova U, I i N u nisci korisničkog agenta da označe jačinu enkripcije. Do 1996, kada je vlada SAD dozvolila da se enkripcije sa ključevima dužim od 40 bita izvoze, proizvođači su isporučivali različite verzije sa različitim jačinama enkripcije. „U“ označava „USA“ (za verziju sa 128-bitnom enkripcijom), „I“ označava „International“ - pregledač ima 40-bitnu enkripciju i može biti korišćen bilo gde u svetu. „N“ označava (de facto) „None“ (bez enkripcije).[10] Nakon ukidanja zabrane izvoza kriptografije od strane vlade SAD, većina proizvođača je pružila podršku za 256-bitnu enkripciju.

Reference[uredi]

  1. ^ RFC 3261, SIP: Session Initiation Protocol, IETF, The Internet Society (2002)
  2. ^ Netnews Article Format. IETF. November 2009. sec. 3.2.13. RFC 5536. 
  3. ^ Peter Eckersley. "Browser Versions Carry 10.5 Bits of Identifying Information on Average", Electronic Frontier Foundation, 27 January 2010. Retrieved 25 August 2011.
  4. ^ Burstein complaining "... I've been rejected until I come back with Netscape"
  5. ^ „Arhivirana kopija”. Arhivirano iz originala na datum 06. 08. 2011. Pristupljeno 09. 08. 2011. 
  6. ^ „User Agent String explained: Android Webkit Browser”. UserAgentString.com. Arhivirano iz originala na datum 04. 05. 2012. Pristupljeno 29. 7. 2012. »Mozilla/5.0 (Linux; U; Android 2.2; en-sa; HTC_DesireHD_A9191 Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1« 
  7. ^ "Viewable with Any Browser" campaign
  8. ^ Pemberton, Stephen. „W3C Markup Validation Service”. W3C. Pristupljeno 18. 10. 2011. 
  9. ^ Clary, Bob (10. 2. 2003). „Browser Detection and Cross Browser Support”. Mozilla Developer Center. Mozilla. Pristupljeno 30. 5. 2009. 
  10. ^ Zawinski, Jamie (28. 3. 1998). „user-agent strings (obsolete)”. mozilla.org. Pristupljeno 8. 1. 2010. 

Spoljašnje veze[uredi]