Uživatelský agent - User agent

V oblasti výpočetní techniky je uživatelským agentem jakýkoli software jednající jménem uživatele , který „načítá, vykresluje a usnadňuje interakci koncového uživatele s webovým obsahem“. Uživatelský agent je proto speciální druh softwarového agenta .

Některé prominentní příklady uživatelských agentů jsou webové prohlížeče a čtečky e -mailů . Uživatelský agent často funguje jako klient v systému klient -server . V některých kontextech, například v rámci protokolu SIP ( Session Initiation Protocol ), výraz uživatelský agent označuje oba koncové body komunikační relace.

Identifikace agenta uživatele

Když softwarový agent pracuje v síťovém protokolu, často identifikuje sebe, svůj typ aplikace, operační systém , dodavatele softwaru nebo revizi softwaru odesláním charakteristického identifikačního řetězce svému provoznímu peerovi. V protokolech HTTP , SIP a NNTP je tato identifikace přenášena v poli záhlaví User-Agent . Boti , jako jsou webové prohledávače, často také obsahují adresu URL a/nebo e-mailovou adresu , aby se webmaster mohl spojit s provozovatelem robota.

Použijte v HTTP

V HTTP se řetězec User-Agent často používá pro vyjednávání obsahu , kde původní server vybere vhodný obsah nebo provozní parametry pro odpověď. Řetězec User-Agent může například použít webový server k výběru variant na základě známých schopností konkrétní verze klientského softwaru. Koncept přizpůsobení obsahu je integrován do standardu HTTP v RFC 1945 „kvůli přizpůsobení odpovědí, aby se předešlo konkrétním omezením agenta uživatele“.

Řetězec User-Agent je jedním z kritérií, podle kterých mohou být webové prohledávače vyloučeny z přístupu k určitým částem webu pomocí standardu pro vyloučení robotů ( soubor robots.txt ).

Stejně jako u mnoha jiných hlaviček požadavků HTTP, informace v řetězci „User-Agent“ přispívají k informacím, které klient odešle na server, protože řetězec se může od uživatele k uživateli značně lišit.

Formát pro webové prohlížeče ovládané lidmi

Formát řetězce User-Agent je aktuálně určen v části 5.5.3 sémantiky a obsahu HTTP/1.1 . Formát řetězce User-Agent v HTTP je seznam produktových tokenů (klíčových slov) s volitelnými komentáři. Pokud by se například produkt uživatele nazýval WikiBrowser, jeho řetězec uživatelského agenta by mohl být WikiBrowser/1.0 Gecko/1.0 . Nejprve je uvedena „nejdůležitější“ složka produktu.

Části tohoto řetězce jsou následující:

  • název a verze produktu ( WikiBrowser/1.0 )
  • layout engine a verze ( Gecko/1.0 )

Během první války s prohlížečem bylo mnoho webových serverů nakonfigurováno tak, aby odesílaly webové stránky vyžadující pokročilé funkce, včetně rámců , klientům, kteří byli identifikováni pouze jako některé verze Mozilly . Jiné prohlížeče byly považovány za starší produkty, jako je Mosaic , Violoncello nebo Samba , a bude jim zaslán dokument HTML s holými kostmi.

Z tohoto důvodu většina webových prohlížečů používá řetězcovou hodnotu User-Agent následovně:

Mozilla/[ verze ] ([informace o systému a prohlížeči ]) [ platforma ] ([ podrobnosti o platformě ]) [ rozšíření ]

Safari na iPadu například použil následující:

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

Součásti tohoto řetězce jsou následující:

  • Mozilla/5.0 : Dříve používané k označení kompatibility s vykreslovacím modulem Mozilla.
  • (iPad; U; CPU OS 3_2_1 jako Mac OS X; en-us) : Podrobnosti o systému, ve kterém je prohlížeč spuštěn.
  • AppleWebKit/531.21.10 : Platforma, kterou prohlížeč používá.
  • (KHTML, jako Gecko) : Podrobnosti o platformě prohlížeče.
  • Mobile/7B405 : Toto používá prohlížeč k označení konkrétních vylepšení, která jsou k dispozici přímo v prohlížeči nebo prostřednictvím třetích stran. Příkladem toho je Microsoft Live Meeting, který registruje rozšíření, aby služba Live Meeting věděla, zda je software již nainstalován, což znamená, že může poskytovat efektivnější prostředí pro připojení ke schůzkám.

Před migrací na kódovou základnu Chromium byla Opera nejpoužívanějším webovým prohlížečem, který neměl řetězec User-Agent s „Mozilla“ (místo toho začínal „Opera“). Od 15. července 2013 začíná řetězec Opera-User-Agent řetězcem „Mozilla/5.0“ a aby se předešlo problémům se staršími pravidly serveru, již neobsahuje slovo „Opera“ (místo toho používá řetězec „OPR“ k označení verze Opery).

Formát pro automatické agenty (roboty)

Nástroje pro automatické procházení webu mohou používat zjednodušený formulář, kde jsou důležitým polem kontaktní informace v případě problémů. Podle konvence je v názvu agenta obsaženo slovo „bot“. Například:

Googlebot/2.1 (+http://www.google.com/bot.html)

Očekává se, že automatizovaní agenti budou dodržovat pravidla ve speciálním souboru s názvem „ robots.txt “.

Spoofing uživatelského agenta

Popularita různých produktů webového prohlížeče se v celé historii webu lišila, a to ovlivnilo design webových stránek takovým způsobem, že webové stránky jsou někdy navrženy tak, aby dobře fungovaly pouze s konkrétními prohlížeči, nikoli podle jednotných standardů World Wide Web. Consortium (W3C) nebo Internet Engineering Task Force (IETF). Webové stránky často obsahují kód pro detekci verze prohlížeče a úpravu designu stránky odeslané podle přijatého řetězce uživatelského agenta. Může to znamenat, že méně populárním prohlížečům není zasílán složitý obsah (i když by se s ním mohli správně vypořádat) nebo v extrémních případech odmítl veškerý obsah. Různé prohlížeče mají tedy funkci maskování nebo falšování své identifikace, aby vynutily určitý obsah na straně serveru. Aby se usnadnila kompatibilita, prohlížeč Android se například identifikuje jako Safari (mimo jiné).

Jiné klientské programy HTTP, jako jsou správci stahování a offline prohlížeče , často mají možnost změnit řetězec agenta uživatele.

Spam roboti a webové škrabky často používají falešné uživatelské agenty.

Výsledkem falšování uživatelských agentů může být, že shromážděné statistiky používání webového prohlížeče jsou nepřesné.

Čichání agenta uživatele

Čichání k uživatelským agentům je postup, kdy webové stránky zobrazují jiný nebo upravený obsah při prohlížení s určitými uživatelskými agenty. Příkladem toho je funkce aplikace Outlook Web Access na serveru Microsoft Exchange Server 2003. Při prohlížení v aplikaci Internet Explorer 6 nebo novější se ve srovnání se stejnou stránkou v jiných prohlížečích zobrazí více funkcí. Čichání uživatelským agentem je považováno za špatný postup, protože podporuje design specifický pro prohlížeč a penalizuje nové prohlížeče s nerozpoznanými identifikacemi uživatelských agentů. Místo toho W3C doporučuje vytvořit standardní HTML tag, umožňující správné vykreslování v co největším počtu prohlížečů a testovat konkrétní funkce prohlížeče, nikoli konkrétní verze nebo značky prohlížeče.

Webové stránky určené pro zobrazení mobilními telefony často spoléhají na čichání uživatelských agentů, protože mobilní prohlížeče se od sebe často velmi liší.

Zápisy o síle šifrování

Webové prohlížeče vytvořené ve Spojených státech, například Netscape Navigator a Internet Explorer , dříve používaly písmena U, I a N k určení síly šifrování v řetězci agenta uživatele. Do roku 1996, kdy vláda USA povolila export šifrování s klíči delšími než 40 bitů, dodávali prodejci různé verze prohlížečů s různou silou šifrování. „U“ znamená „USA“ (verze se 128bitovým šifrováním), „I“ znamená „International“-prohlížeč má 40bitové šifrování a lze jej použít kdekoli na světě-a „N“ ( de facto ) pro „Žádný“ (žádné šifrování). Po zrušení omezení exportu většina prodejců podporovala 256bitové šifrování.

Ukončení podpory hlavičky User-Agent

V roce 2020 společnost Google oznámila, že ve svém prohlížeči Google Chrome ukončí podporu pro záhlaví User-Agent . Uvedli, že další velcí prodejci webových prohlížečů tento krok podporují, ale že nevěděli, kdy budou ostatní prodejci následovat. Google uvedl, že funkce řetězce User-Agent nahradí nová funkce nazvaná Klientské rady .

Viz také

Reference