Selaimesi lähettää käyttäjäagentinsa jokaiselle verkkosivustolle, johon olet yhteydessä. Olemme kirjoittaneet selaimesi käyttäjäagentin vaihtaminen ennen - mutta mitä käyttäjäagentti tarkalleen tarkoittaa?
Käyttäjäagentti on "merkkijono" - eli tekstirivi -, joka tunnistaa selaimen ja käyttöjärjestelmän verkkopalvelimeen. Tämä kuulostaa yksinkertaiselta, mutta käyttäjäagenteista on tullut sotku ajan myötä.
Perusteet
Kun selaimesi muodostaa yhteyden verkkosivustoon, se sisältää User-Agent-kentän HTTP-otsikossa. Käyttäjäagenttikentän sisältö vaihtelee selaimittain. Jokaisella selaimella on oma, erottuva käyttäjäagentti. Käyttäjäagentti on pohjimmiltaan tapa selaimelle sanoa "Hei, olen Mozilla Firefox Windowsissa" tai "Hei, olen Safari iPhonessa" Web-palvelimelle.
Verkkopalvelin voi käyttää näitä tietoja palvelemaan eri verkkosivuja eri selaimille ja eri käyttöjärjestelmille. Esimerkiksi verkkosivusto voi lähettää mobiilisivuja mobiiliselaimille, nykyaikaisia sivuja moderneille selaimille ja "päivitä selaimesi" -viestin Internet Explorer 6: een.
Käyttäjäagenttien tutkiminen
Esimerkiksi tässä on Firefoxin käyttäjäagentti Windows 7: ssä:
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0
Tämä käyttäjäagentti kertoo verkkopalvelimelle melko vähän: Käyttöjärjestelmä on Windows 7 (koodinimi Windows NT 6.1), se on 64-bittinen Windows-versio (WOW64) ja selain itsessään on Firefox 12.
Katsotaan nyt Internet Explorer 9: n käyttäjäagenttia, joka on:
Mozilla / 5.0 (yhteensopiva; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)
Käyttäjäagentin merkkijono identifioi selaimen IE 9: ksi Trident 5: n renderointimoottorilla. Saatat kuitenkin huomata jotain hämmentävää - IE tunnistaa itsensä Mozillaksi.
Palataan siihen hetken kuluttua. Tutkitaan ensin myös Google Chromen käyttäjäagenttia:
Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 536.5 (KHTML, kuten Gecko) Chrome / 19.0.1084.52 Safari / 536.5
Juoni sakeutuu: Chrome teeskentelee olevansa sekä Mozilla että Safari. Ymmärtääksemme syyn, meidän on tutkittava käyttäjäagenttien ja selainten historia.
Käyttäjäagentin merkkijono Mess
Mosaic oli yksi ensimmäisistä selaimista. Sen käyttäjäagenttimerkkijono oli NCSA_Mosaic / 2.0. Myöhemmin Mozilla tuli mukaan (myöhemmin nimeksi Netscape), ja sen käyttäjäagentti oli Mozilla / 1.0. Mozilla oli edistyneempi selain kuin Mosaic - erityisesti se tuki kehyksiä. Verkkopalvelimet tarkasivat, että käyttäjäagentti sisälsi sana Mozilla ja lähetti kehyksiä sisältävät sivut Mozilla-selaimille. Muille selaimille verkkopalvelimet lähettivät vanhat sivut ilman kehyksiä.
Lopulta Microsoftin Internet Explorer tuli mukaan ja se tuki myös kehyksiä. IE ei kuitenkaan saanut kehyksiä sisältäviä verkkosivuja, koska verkkopalvelimet vain lähettivät ne Mozilla-selaimille. Korjatakseen tämän ongelman Microsoft lisäsi sana Mozilla käyttäjäagenttiinsa ja heitti lisätietoja (sana ”yhteensopiva” ja viittaus IE: hen). Web-palvelimet näkivät mielellään sanan Mozilla ja lähettivät IE: lle modernit verkkosivut. Muut myöhemmin saapuneet selaimet tekivät saman.
Lopulta jotkut palvelimet etsivät sanaa Gecko - Firefoxin renderointimoottori - ja palvelivat Gecko-selaimia eri sivuilla kuin vanhemmat selaimet. KHTML - joka on alun perin kehitetty Konquererille Linuxin KDE-työpöydälle - lisäsi sanat "kuten Gecko", jotta he saisivat myös modernit Geckolle suunnitellut sivut. WebKit perustui KHTML: hen - kun se kehitettiin, he lisäsivät sanan WebKit ja pitivät alkuperäisen "KHTML, like Gecko" -linjan yhteensopivuuden vuoksi. Tällä tavalla selainkehittäjät jatkoivat sanojen lisäämistä käyttäjäagenteihinsa ajan myötä.
Verkkopalvelimilla ei ole väliä mikä tarkka käyttäjäagenttimerkkijono on - he vain tarkistavat, sisältääkö se tietyn sanan.
Käyttää
Verkkopalvelimet käyttävät käyttäjäagentteja useisiin tarkoituksiin, mukaan lukien:
- Eri verkkosivujen tarjoaminen eri selaimille. Tätä voidaan käyttää hyväksi - esimerkiksi yksinkertaisempien verkkosivujen tarjoamiseksi vanhemmille selaimille - tai pahoille - esimerkiksi "Tämän verkkosivun on oltava tarkasteltuna Internet Explorerissa" -viestin näyttämiseen.
- Eri sisällön näyttäminen eri käyttöjärjestelmille - esimerkiksi näyttämällä kavennettu sivu mobiililaitteissa.
- Kerätään tilastoja, jotka osoittavat niiden käyttäjien käyttämät selaimet ja käyttöjärjestelmät. Jos näet koskaan selaimen markkinaosuustilastoja, ne hankitaan tällä tavalla.
Verkkoindeksointirobotit käyttävät myös käyttäjäagentteja. Esimerkiksi Googlen indeksointirobotti identifioi itsensä seuraavasti:
Googlebot / 2.1 (+ http: //www.google.com/bot.html)
Verkkopalvelimet voivat antaa botille erityiskohtelun - esimerkiksi sallimalla ne pakollisten rekisteröintinäyttöjen kautta. (Kyllä, tämä tarkoittaa, että voit joskus ohittaa rekisteröintinäytöt asettamalla käyttäjäagentiksi Googlebot.)
Verkkopalvelimet voivat myös antaa tilauksia tietyille roboteille (tai kaikille boteille) robots.txt-tiedoston avulla. Esimerkiksi web-palvelin voi käskeä tietyn botin poistumaan tai käskemään toista bottia indeksoimaan vain tietyt sivuston osat. Robots.txt-tiedostossa botit tunnistetaan niiden käyttäjäagenttien merkkijonojen avulla.
Kaikki suuret selaimet sisältävät tapoja aseta mukautetut käyttäjäagentit , joten näet, mitä verkkopalvelimet lähettävät eri selaimille. Määritä esimerkiksi työpöydän selaimessasi mobiiliselaimen käyttäjäagenttimerkkijono, niin näet työpöydälläsi verkkosivujen mobiiliversiot.