Co je to uživatelský agent prohlížeče?
Váš prohlížeč odešle svůj uživatelský agent na všechny webové stránky, ke kterým se připojujete. Napsali jsme o změně uživatelského agenta prohlížeče dříve - ale co přesně je uživatelský agent, stejně?
Uživatelský agent je "řetězec" - tedy řádek textu - identifikující prohlížeč a operační systém na webovém serveru. To zní jednoduše, ale uživatelské agenty se časem stávají nepořádek.
Základy
Když se váš prohlížeč připojí k webovému serveru, obsahuje pole User-Agent v hlavičce HTTP. Obsah pole uživatelského agenta se liší od prohlížeče až po prohlížeč. Každý prohlížeč má svůj vlastní, charakteristický uživatelský agent. V podstatě uživatelský agent je způsob, jak prohlížeč říct "Ahoj, jsem Mozilla Firefox na Windows" nebo "Ahoj, jsem Safari na iPhone" na webový server.
Webový server může tyto informace používat k tomu, aby zobrazoval různé webové stránky různým webovým prohlížečům a různým operačním systémům. Například webová stránka by mohla posílat mobilní stránky do mobilních prohlížečů, moderních stránek do moderních prohlížečů a zprávu "Upravte svůj prohlížeč" do aplikace Internet Explorer 6.
Zkoumání uživatelských agentů
Například zde je uživatelský agent aplikace Firefox v systému Windows 7:
Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 12.0) Gecko / 20100101 Firefox / 12.0
Tento uživatelský agent říká webový server docela trochu: Operační systém je Windows 7 (kódové jméno Windows NT 6.1), 64bitová verze systému Windows (WOW64) a samotný prohlížeč je Firefox 12.
Nyní se podívejme na uživatele agentu Internet Explorer 9, který je:
Mozilla / 5.0 (kompatibilní; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)
Řetězec agenta uživatele identifikuje prohlížeč jako IE 9 s vykreslovacím modulem Trident 5. Mohli byste však něco zmást - IE se označuje jako Mozilla.
Za chvíli se k tomu vrátíme. Nejprve se podíváme také na uživatele agentů Google Chrome:
Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 536.5 (KHTML, podobně jako Gecko) Chrome / 19.0.1084.52 Safari / 536.5
Záplet se zesiluje: Chrome předstírá, že je to jak Mozilla, tak i Safari. Abychom pochopili, proč budeme muset prozkoumat historii uživatelů agentů a prohlížečů.
String Messenger agenta uživatele
Mozaika byla jedním z prvních prohlížečů. Jeho řetězec uživatelského agenta byl NCSA_Mosaic / 2.0. Později přišla Mozilla (později přejmenována na Netscape) a její uživatelský agent byl Mozilla / 1.0. Mozilla byla mnohem pokročilejším prohlížečem než Mozaika - zejména podporovala snímky. Webové servery zkontrolovaly, zda uživatelský agent obsahoval slovo Mozilla a odeslal stránky obsahující rámce do prohlížečů Mozilla. Ostatní prohlížeče odesílaly webové servery staré stránky bez rámečků.
Nakonec přišel Microsoft Internet Explorer a také podporoval snímky. IE však neobdržela webové stránky s rámci, protože webové servery je právě posílaly do prohlížečů Mozilla. K odstranění tohoto problému společnost Microsoft přidala slovo Mozilla uživatelskému agentovi a přidala další informace (slovo "kompatibilní" a odkaz na IE.) Webové servery se potěšily, že vidí slovo Mozilla a poslali IE moderním webovým stránkám. Jiné prohlížeče, které přišly později, dělaly totéž.
Některé servery nakonec vyhledaly slovo Gecko - prohlížeč Firefox - a prohlížeče Gecko zobrazovaly různé stránky než starší prohlížeče. KHTML - původně vyvinutý pro Konquerera na pracovní ploše KDE Linuxu - přidal slova "jako Gecko" tak, aby získali moderní stránky určené pro Gecko. WebKit byl založen na KHTML - když byl vyvinut, přidali slovo WebKit a zachovali původní verzi "KHTML, podobně jako Gecko" pro účely kompatibility. Tímto způsobem vývojáři prohlížeče přidávali slova svým uživatelským agentům v průběhu času.
Webové servery nezajímá, co je přesný řetězec uživatelského agenta - prostě zkontrolují, zda obsahuje konkrétní slovo.
Použití
Webové servery používají uživatelské agenty pro různé účely, včetně:
- Doručování různých webových stránek do různých webových prohlížečů. To může být užitečné - například k tomu, aby sloužily jednodušším webovým stránkám starším prohlížečům - nebo zlému - například k zobrazení zprávy "Tato webová stránka musí být zobrazena v aplikaci Internet Explorer".
- Zobrazování odlišného obsahu různým operačním systémům - například zobrazením stránky se sníženou kapacitou v mobilních zařízeních.
- Shromažďování statistik zobrazujících prohlížeče a operační systémy, které používají jejich uživatelé. Pokud jste někdy viděli statistiku podílu na trhu prohlížeče, tak získáte.
Web-crawling robots používají také agenty uživatelů. Například webový prohledávač Google se identifikuje jako:
Googlebot / 2.1 (+ http: //www.google.com/bot.html)
Webové servery mohou dát robotům speciální ošetření - například tím, že jim umožní přístup k povinným registračním obrazům. (Ano, to znamená, že někdy můžete obejít registrační obrazovky nastavením svého uživatelského agenta na Googlebot.)
Webové servery mohou také zadávat příkazy konkrétním robotům (nebo všem botům) pomocí souboru robots.txt. Například webový server může říct, že určitý bot odjede, nebo řekne jinému botovi, že bude indexovat pouze určité oblasti webu. V souboru robots.txt jsou roboti identifikováni řetězci uživatelských agentů.
Všechny hlavní prohlížeče obsahují způsoby, jak nastavit vlastní uživatelské agenty, takže můžete vidět, jaké webové servery posílají různým prohlížečům. Například nastavte svůj prohlížeč pro stolní počítače na řetězec uživatelského prohlížeče mobilního prohlížeče a uvidíte na ploše mobilní verze webových stránek.