User agent - identifikační řetězec klientské aplikace; běžně používané pro aplikace, které přistupují k webovým stránkám – prohlížeče , vyhledávací roboty a pavouky , mobilní telefony a další zařízení s integrovaným přístupem k webovým zdrojům.
Při návštěvě webové stránky klientská aplikace obvykle odešle informace o sobě na webový server , textový řetězec, který je součástí požadavku HTTP , začínající User-agent:' nebo User-Agent: a obvykle obsahující informace, jako je název a verzi aplikace, operačního systému počítače a jazyka. U pavouků tento řetězec často obsahuje URL a e- mailovou adresu, na které může webmaster kontaktovat operátora pavouka.
Vzhledem k dominanci jednotlivých prohlížečů v různých dobách v historii World Wide Web , mnoho webových stránek nebylo navrženo podle standardů W3C a IETF , ale pro práci s konkrétním prohlížečem. Tyto weby odesílají různý obsah webových stránek v závislosti na hodnotě User-Agent, kterou obdrží od klienta. To má za následek, že stránky lze otevřít pouze pomocí několika nejoblíbenějších prohlížečů a prohlížeče, které mají mírně odlišná ID, jsou „zakázány“.
Mnoho webmasterů považuje tento přístup za špatný postup a doporučuje, aby bylo značení HTML co nejvíce standardizováno, aby se stránky webu správně zobrazovaly v maximálním počtu prohlížečů.
Webové stránky pro mobilní telefony se často musí do značné míry spoléhat na definici User-Agent, protože prohlížeče na různých mobilních telefonech jsou příliš odlišné. Mobilní webové portály proto obvykle generují různé stránky v závislosti na modelu mobilního telefonu. Tyto rozdíly se mohou pohybovat od malých (změna velikosti obrázků specificky pro menší obrazovky) až po poměrně významné ( formát WML místo XHTML ).
Řetězec User-agent používají webmasteři také k tomu, aby zabránili vyhledávačům v indexování určitých stránek webu, například když indexování určitých stránek nedává smysl nebo když konkrétní prohledávač hodně zatěžuje server. Správce webu může použít speciální soubor robots.txt k doporučení pavoukovi nebo jednoduše nakonfigurovat web tak, aby tyto stránky pavoukovi nedával.
Použití řetězce User-agent webovými stránkami ke změně zobrazení stránky často vede k tomu, že méně oblíbené prohlížeče nedostanou celý obsah stránky, i když jej dokážou zobrazit správně, a v některých extrémních případech takové prohlížeče nedostanou nic. Všechno. [1] V tomto ohledu mnoho prohlížečů začalo „skrývat“ nebo „falšovat“ User-agenta.
Prvním příkladem toho je Internet Explorer použití řetězce User-Agent začínajícího na " Mozilla/<verze> (kompatibilní; MSIE <verze>… ") k načtení obsahu určeného pro Netscape Navigator , jeho hlavního konkurenta v 90. letech . Je třeba poznamenat, že "Mozilla" v tomto případě není open-source prohlížeč Mozilla vydaný mnohem později, ale původní kódové jméno Navigator, což bylo také jméno maskota Netscape ( maskot ).Tento formát User-Agent string byl od té doby používán jinými prohlížeči, zejména kvůli skutečnosti, že Internet Explorer se stal dominantním.
Když se Internet Explorer stal dominantním prohlížečem, konkurenti jako Firefox , Safari a Opera zabudovali systémy umožňující uživateli vybrat si falešného User-Agent, stejně jako v posledních verzích Exploreru. Některé z nich (Firefox a Safari) zkopírovaly hodnotu User-Agent celou, jiné (Opera) zkopírovaly hodnotu User-Agent a na konec přidaly skutečné jméno prohlížeče, což později vedlo k řetězci obsahujícímu tři názvy a verze: první se nazývá "Mozilla" (tj. Netscape Navigator); dále "MSIE" (Internet Explorer); a nakonec platný prohlížeč jako „Opera“. Opera vám také umožnila zcela se převléknout za Internet Explorer nebo Firefox a zcela skrýt název „Opera“.
V případě Safari obsahuje řetězec User-Agent 5 názvů (Mozilla, AppleWebKit (identifikátor pro „engine“), „KHTML, jako Gecko“ (použitý Safari WebKit je založen na enginu KHTML, Gecko je kódové jméno pro engine nejnovějších verzí Mozilla Firefox) a Safari. Pokud tedy web zkontroluje téměř jakýkoli moderní prohlížeč (kromě Opery), Safari to projde.Ostatní prohlížeče založené na enginu WebKit fungují podobně.
Kromě prohlížečů mají možnost změnit hodnotu User-Agent odeslanou na server na žádost uživatele i další programy, které používají protokol HTTP, jako jsou správci stahování a offline prohlížeče . Pravděpodobně se tak děje, aby byla zajištěna kompatibilita s určitými servery (některé servery odmítají poskytovat takové programy, protože mohou značně zatěžovat serverové zdroje; Google například vrací 403 pro výchozího agenta python urllib).
Tento problém ve světě prohlížečů stále přetrvává, a tak byla spuštěna kampaň, která má povzbudit vývojáře stránek, aby navrhovali stránky podle standardů, a nikoli pro konkrétní prohlížeč.
Například mnoho webových stránek vytvořených v roce 2005 lépe vyhovuje standardům než dříve v historii webu. Některé weby však stále používají zastaralé skripty JavaScript , které v podstatě blokují fungování jiných prohlížečů než Internet Explorer nebo Netscape Navigator. Důvodem je často bezmyšlenkovité kopírování starého kódu převzatého z jiných stránek, aniž bychom plně chápali, jaký efekt tento kód ve skutečnosti bude mít.
Jedním z výsledků falšování hodnoty User-Agent je přecenění popularity odpovídajícího (obvykle již populárního) prohlížeče ve statistikách a podcenění popularity jiných prohlížečů, v důsledku čehož vývojáři výše uvedených stránek nemají žádnou motivaci opravovat kompatibilitu. problémy.
Netscape , Mozilla , Opera a několik dalších používá jedno z těchto písmen k označení úrovně šifrování, které podporují. Protože vláda USA dříve nepovolovala export šifrovacích systémů s klíčem vyšším než 40 bitů, byly vydány různé verze s různými úrovněmi šifrování. "U" znamenalo "USA" (Spojené státy americké) (pro verze se 128bitovým šifrovacím klíčem), "I" znamenalo "International" (mezinárodní) (prohlížeč měl schopnost šifrovat pomocí 40bitového klíče a mohl být používané kdekoli na světě), "N" znamenalo "Žádné" (žádné šifrování). Zpočátku si verze „U“ směli stáhnout pouze obyvatelé USA, ale protože americká vláda uvolnila svou politiku, je nyní do většiny zemí povolen export systémů šifrování na vysoké úrovni. Nyní jsou prohlížeče distribuovány pouze ve verzi s písmenem "U" s podporou šifrování s klíčem až 256 bitů, protože potřeba mezinárodní verze zmizela.