23Jul
Selaimesi lähettää käyttäjän edustajansa jokaiseen verkkosivustoon, johon olet yhteydessä.Olemme kirjoittaneet selaimesi käyttäjäagentin vaihtamisesta ennen - mutta miltä osin käyttäjäagentti on?
Käyttäjäagentti on "merkkijono" eli tekstirivi - joka tunnistaa selaimen ja käyttöjärjestelmän webpalvelimelle. Tämä kuulostaa yksinkertaiselta, mutta käyttäjäagentit ovat muuttuneet sekaannuksi ajan mittaan.
Perusteet
Kun selaimesi muodostaa yhteyden verkkosivustoon, siinä on User-Agent-kenttä sen HTTP-otsikossa. Käyttäjäkenttän sisältö vaihtelee selaimesta selaimeen. Jokaisella selaimella on oma, erottuva käyttäjäagentti. Pohjimmiltaan käyttäjäagentti on selaimen tapa sanoa "Hei, olen Mozilla Firefox Windowsissa" tai "Hei, olen Safari iPhonessa" web-palvelimelle.
Verkkopalvelin voi käyttää näitä tietoja palvelemaan erilaisia verkkosivuja eri verkkoselaimille ja eri käyttöjärjestelmille. Esimerkiksi verkkosivusto voisi lähettää mobiilisivuja mobiiliselaimille, nykyaikaisille sivuille nykyaikaisille selaimille ja päivittää selaimesi Internet Explorer 6: lla.
Käyttäjäaineiden tarkastelu
Esimerkiksi Firefoxin käyttäjäagentti on Windows 7:
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)bittinen Windows-versio( WOW64) ja selain itsessään on Firefox 12.
Katsotaan nyt Internet Explorer 9: n käyttäjäagentti, joka on:
Mozilla / 5.0( yhteensopiva, MSIE 9.0, Windows NT 6.1, WOW64, Trident /5.0)
Käyttäjäagenttijono tunnistaa selaimen IE 9: ksi Trident 5 renderointimoottorilla. Voit kuitenkin havaita jotain hämmentävää - IE tunnistaa itsensä Mozillaksi.
Palaan hetkiin. Tutustu ensin Google Chromen käyttäjäagenttiin:
Mozilla / 5.0( Windows NT 6.1, WOW64) AppleWebKit / 536.5( KHTML, kuten Gecko) Chrome / 19.0.1084.52 Safari / 536.5
Tontti paksumpaa: Chrome näyttää olevan molempiaMozilla ja Safari. Ymmärtääksemme, miksi meidän on tutkittava käyttäjäagenttien ja selainten historiaa.
User Agent String Mess
-mosaiikki oli yksi ensimmäisistä selaimista. Sen käyttäjäagenttijono oli NCSA_Mosaic / 2.0.Myöhemmin Mozilla tuli mukaan( myöhemmin Netscape), ja sen käyttäjäagentti oli Mozilla / 1.0.Mozilla oli edistyksellisempi selain kuin Mosaic - erityisesti se tuki kehyksiä.Web-palvelimet tarkistavat, että käyttäjäagentti sisälsi sanan Mozilla ja lähetti kehyksiä sisältävät sivut Mozilla-selaimiin. Muihin selaimiin web-palvelimet lähettivät vanhat sivut ilman kehyksiä.
Lopulta Microsoftin Internet Explorer tuli mukaan ja tuki myös kehyksiä.IE ei kuitenkaan saanut verkkosivuja kehyksillä, koska web-palvelimet lähettivät ne vain Mozillan selaimille. Tämän ongelman korjaamiseksi Microsoft lisäsi sanaa Mozilla käyttäjälähtöihinsä ja heitti lisätiedot( sana "yhteensopiva" ja viittaus IE: hen). Web-palvelimet näkivät mielellään sanan Mozilla ja lähettivät IE nykyaikaisille verkkosivuille. Muut selaimet, jotka tulivat myöhemmin, tekivät samoin.
Lopulta jotkut palvelimet etsivät sanaa Gecko - Firefoxin renderointimoottori - ja palvelivat Gecko-selaimia eri sivuilla kuin vanhat selaimet. KHTML - joka on alun perin kehitetty Konquererille Linuxin KDE-työpöydällä - lisäsi sanat "kuten Gecko", jotta he saisivat myös modernit Geckon suunnittelemat sivut. WebKit perustui KHTML: hen - kun se kehitettiin, he lisäsivät sanaa WebKit ja säilyttivät alkuperäisen "KHTML, kuten Gecko" -rivin yhteensopivuustarkoituksiin. Tällä tavalla selainkehittäjät pitivät ajanhausta käyttäjien sanoja lisäämällä.
Web-palvelimet eivät todellakaan välitä siitä, mikä tarkka käyttäjäagentti on - he vain tarkistavat, sisältääkö se tietyn sana.
Käyttää
Web-palvelimia käyttävät käyttäjäagentit monenlaisiin tarkoituksiin, mukaan lukien:
- WWW-sivujen tarjoaminen eri verkkoselaimille. Tätä voidaan käyttää hyväksi - esimerkiksi palvella yksinkertaisempia verkkosivuja vanhemmille selaimille - tai pahalle - esimerkiksi näyttääksesi "Tämä web-sivu on tarkasteltava Internet Explorerissa" -viestissä.
- Erilaisen sisällön näyttäminen eri käyttöjärjestelmille - esimerkiksi näyttämällä pienikokoinen sivu mobiililaitteille.
- Kerää tilastoja, joissa näytetään käyttäjien käyttämä selaimet ja käyttöjärjestelmät. Jos näet selaimen markkina-osuustilastot, näin hankitaan.
Web-indeksointipommit käyttävät myös käyttäjäagentteja. Esimerkiksi Googlen web-indeksointiyritys tunnistaa itsensä seuraavasti:
Googlebot / 2.1( + http: //www.google.com/ bot.html)
-verkkopalvelimet voivat antaa botille erityiskäsittelyä - esimerkiksi sallimalla ne pakollisten rekisteröintinäkymien kautta.(Kyllä, tämä tarkoittaa, että voit joskus ohittaa rekisteröintinäkymät asettamalla käyttäjän edustajan Googlebotille.)
Web-palvelimet voivat myös antaa tilauksia tiettyihin robotteihin( tai kaikkiin robotteihin) robots.txt-tiedoston avulla. Esimerkiksi WWW-palvelin voisi kertoa tietyn botin menemään pois tai kertoa toiselle botsilla vain indeksoida sivuston tiettyjä alueita. Robots.txt-tiedostossa botit tunnistetaan niiden käyttäjäagenttien avulla.
Kaikki tärkeimmät selaimet sisältävät tapoja määrittää mukautetut käyttäjäagentit, joten näet, mitä web-palvelimia lähettää eri selaimille. Aseta esimerkiksi työpöydän selain mobiiliselaimen käyttäjäagenttijonoon ja näet työpöydällä olevien verkkosivujen mobiiliversiot.