Váš prohlížeč odesílá svého agenta uživatele na každý web, ke kterému se připojíte. O čem jsme psali změna uživatelského agenta vašeho prohlížeče dříve - ale co přesně je uživatelský agent?
Uživatelský agent je „řetězec“ - tj. Textový řádek - identifikující prohlížeč a operační systém s webovým serverem. Zní to jednoduše, ale uživatelští agenti se postupem času stali nepořádkem.
Základy
Když se váš prohlížeč připojí k webové stránce, obsahuje v záhlaví HTTP pole User-Agent. Obsah pole uživatelského agenta se u jednotlivých prohlížečů liší. Každý prohlížeč má svého zvláštního agenta uživatele. Uživatelský agent je v zásadě způsob, jak může prohlížeč na webový server říci „Ahoj, jsem Mozilla Firefox pro Windows“ nebo „Ahoj, jsem Safari pro iPhone“.
Webový server může tyto informace použít k poskytování různých webových stránek v různých webových prohlížečích a různých operačních systémech. Například web může posílat mobilní stránky do mobilních prohlížečů, moderní stránky do moderních prohlížečů a zprávu „prosím upgradujte prohlížeč“ na Internet Explorer 6.
Zkoumání agentů uživatelů
Například zde je uživatelský agent prohlížeče 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ému serveru dost: Operační systém je Windows 7 (krycí název Windows NT 6.1), jedná se o 64bitovou verzi systému Windows (WOW64) a samotný prohlížeč je Firefox 12.
Nyní se podívejme na uživatelského agenta aplikace Internet Explorer 9, který je:
Mozilla / 5.0 (kompatibilní; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)
Řetězec uživatelského agenta identifikuje prohlížeč jako IE 9 s vykreslovacím modulem Trident 5. Můžete si však všimnout něčeho matoucího - IE se identifikuje jako Mozilla.
Za minutu se k tomu vrátíme. Nejprve se podívejme také na uživatelského agenta prohlížeče Google Chrome:
Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 536.5 (KHTML, jako Gecko) Chrome / 19.0.1084.52 Safari / 536,5
Děj zesiluje: Chrome předstírá, že je Mozilla i Safari. Abychom pochopili proč, budeme muset prozkoumat historii uživatelských agentů a prohlížečů.
User Agent String Mess
Mozaika byla jedním z prvních prohlížečů. Řetězec jeho uživatelského agenta byl NCSA_Mosaic / 2.0. Později přišla Mozilla (později přejmenovaná na Netscape) a její uživatelský agent byl Mozilla / 1.0. Mozilla byla pokročilejší prohlížeč než Mosaic - zejména podporovala rámce. Webové servery zkontrolovaly, zda uživatelský agent obsahoval slovo Mozilla a poslal do prohlížečů Mozilla stránky obsahující rámce. Do jiných prohlížečů odesílaly webové servery staré stránky bez rámců.
Nakonec přišel Microsoft Internet Explorer, který také podporoval rámce. IE však nepřijímal webové stránky s rámci, protože webové servery je právě posílaly do prohlížečů Mozilla. Abychom tento problém vyřešili, společnost Microsoft přidala do svého uživatelského agenta slovo Mozilla a vložila další informace (slovo „kompatibilní“ a odkaz na IE.) Webové servery byly potěšeny, když viděly slovo Mozilla, a zaslaly IE moderní webové stránky. Totéž udělali i další prohlížeče, které přišly později.
Některé servery nakonec hledaly slovo Gecko - vykreslovací modul prohlížeče Firefox - a prohlížečům Gecko sloužily jiné stránky než starší prohlížeče. KHTML - původně vyvinuté pro Konquerer na desktopu Linuxu KDE - přidalo slova „jako Gecko“, aby dostali také moderní stránky určené pro Gecko. WebKit byl založen na KHTML - když byl vyvinut, přidali slovo WebKit a pro účely kompatibility ponechali původní řádek „KHTML, like Gecko“. Tímto způsobem vývojáři prohlížečů neustále přidávali slova do svých uživatelských agentů v průběhu času.
Webové servery se opravdu nestarají o přesný řetězec agenta uživatele - pouze zkontrolují, zda obsahuje konkrétní slovo.
Použití
Webové servery používají uživatelské agenty pro různé účely, včetně:
- Poskytování různých webových stránek do různých webových prohlížečů. To lze použít k dobrému - například k poskytování jednodušších webových stránek starším prohlížečům - nebo ke zlému - například k zobrazení zprávy „Tuto webovou stránku je třeba zobrazit v aplikaci Internet Explorer“.
- Zobrazení jiného obsahu na různých operačních systémech - například zobrazením zeštíhlené stránky na mobilních zařízeních.
- Shromažďování statistik zobrazujících prohlížeče a operační systémy používané jejich uživateli. Pokud někdy uvidíte statistiky tržního podílu prohlížečů, získáte je takto.
Roboti prohledávání webu také používají agenty uživatelů. Například webový prohledávač Google se identifikuje jako:
Googlebot / 2.1 (+ http: //www.google.com/bot.html)
Webové servery mohou poskytnout robotům speciální zacházení - například tím, že jim to umožní prostřednictvím povinných registračních obrazovek. (Ano, to znamená, že registrační obrazovky můžete někdy obejít nastavením svého uživatelského agenta na Googlebota.)
Webové servery mohou také zadávat objednávky konkrétním robotům (nebo všem robotům) pomocí souboru robots.txt. Například webový server může určitému botovi říct, aby odešel, nebo může jinému botovi říct, aby indexoval pouze určité oblasti webu. V souboru robots.txt jsou roboti identifikováni podle řetězců 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, co webové servery odesílají do různých prohlížečů. Nastavíte například prohlížeč pro stolní počítače na řetězec uživatelského agenta mobilního prohlížeče a uvidíte mobilní verze webových stránek na ploše.