Privacy Policy Cookie Policy Terms and Conditions User Agent - Wikipedia, wolna encyklopedia

User Agent

Z Wikipedii

User Agent, User Agent String, UAString (ang. klient użytkownika) - aplikacja kliencka HTTP oraz nagłówek przezeń wysyłany podczas komunikacji z serwerem WWW. Nagłówek służy serwisom internetowym (np. aplikacji napisanej w języku PHP) do rozpoznania typu programu klienckiego, również do budowania statystyk odwiedzin witryn WWW przez różne przeglądarki bądź roboty.

Zobacz: Typowe zapytanie HTTP z podaniem ciągu klienta (User-Agent: ).

Podobny nagłówek (User-Agent: , X-Mailer: , X-Newsreader: ) jest dołączany do dokumentów przesyłanych protokołami SMTP oraz NNTP jednak identyfikacja aplikacji klienta nadawcy listu e-mail nie ma większego znaczenia w działaniu Sieci.

Żadna specyfikacja protokołu nie czyni go obowiązkowym elementem zapytania HTTP, lecz każda współczesna przeglądarka owym się posługuje. Również wiele klientów HTTP nie będących typowymi przeglądarkami wysyła nagłówek UAString podczas walidacji źródła czy indeksowania stron do bazy danych wyszukiwarek.

Spis treści

[edytuj] Historia

Za czasów dominacji Netscape'a na rynku przeglądarek, serwisy WWW otrzymując UAString nienależący do głównej przeglądarki wysyłały uboższą wersję strony, przez co np. przeglądarka Internet Explorer podszywała się pod Mozillę (nazwa kodowa Netscape'a).

Typowy identyfikator Netscape:

Mozilla/4.78 [en] (Win98; U)

Identyfikator, jakim IE posługuje się do dziś (zmieniają się tylko wersję programu i macierzystego systemu operacyjnego):

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

słowo compatible miało oznaczać rzekomą kompatybilność wyświetlania HTML-a ze sposobem wyświetlania Netscape'a.

W obu powyższych przykładach zawarta jest, oprócz wersji przeglądarki, nazwa systemu operacyjnego (odpowiednio: Microsoft Windows 98 i Microsoft Windows XP). Istnieją systemy statystyk odwiedzin na stronach WWW sumujące wizyty klientów spod różnych systemów operacyjnych.

[edytuj] Przykłady UAStringów

Przykłady identyfikacji pozostałych popularnych klientów:

  • Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.7.10) Gecko/20050717 Firefox/1.0.6 - Mozilla Firefox (pod systemem GNU/Linux)
  • Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux i686; en) Opera 8.01 - Opera podszywająca się pod Internet Explorera (podszywającego się pod Netscape'a)
  • Mozilla/5.0 (Macintosh; U; PPC; ja-JP; rv:1.0.1) Gecko/20020823 Netscape/7.0 - Netscape Navigator pod systemem Macintosh
  • Mozilla/5.0 (compatible; Konqueror/3.3; Linux) (KHTML, like Gecko) - Konqueror
  • Wget/1.9.1 - Uniksowa aplikacja wget (mogąca działać zarówno jako prywatny program do ściągania dokumentów przez HTTP, jak i część robota)

Identyfikatory UAString popularnych robotów internetowych:

  • Googlebot/2.1 (+http://www.googlebot.com/bot.html) - Googlebot, robot wyszukiwarki Google
  • Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp) - "Slurp", robot Yahoo
  • W3C_Validator/1.305.2.148 libwww-perl/5.803, Jigsaw/2.2.3 W3C_CSS_Validator_JFouffa/2.0 - walidatory W3C
  • Mediapartners-Google/2.1 (+http://www.googlebot.com/bot.html) - robot badający treść strony celem wstawienia odpowiedniego banera reklamowego np. w okno przeglądarki Opera
  • JavaX.X.X - domyślny UAString aplikacji napisanych w Javie wysyłających żądania HTTP (X.X.X to wersja JRE, w jakiej uruchamiana jest aplikacja)

[edytuj] Bezpieczeństwo

Aplikacje serwerowe nie powinny polegać na zawartości ciągu User Agent (otrzymywanego często jako HTTP_USER_AGENT), gdzyż - jak wszystkie dane otrzymane od aplikacji klienta - są dziecinnie łatwe do usunięcia, sfałszowania lub podszycia. Stąd w statystykach niektórych serwisów WWW pojawiały się nieistniejące przeglądarki jak np. Internet Explorer 9 czy Hellbrowser 6.66. Podobnie czynią niektórzy właściciele firewalli, którzy w obawie o utratę prywatności blokowali wysyłanie rzeczywistego UAStringa do serwerów. Wiele przeglądarek pozwala na zmienianie identyfikacji podszywając się pod różne programy lub nawet na ręczne wpisanie dowolnego ciągu znaków jako UAString.

[edytuj] Metody otrzymywania dostępu do ciągu agenta

  • JavaScript: window.navigator.userAgent
  • PHP: $_SERVER['HTTP_USER_AGENT']
  • platforma ASP: właściwość UserAgent obiektu Request

[edytuj] Zobacz też

[edytuj] Linki zewnętrzne

THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu