Mikä on selaimen käyttäjäagentti?
Selaimesi lähettää käyttäjäagentinsa jokaiselle sivustolle, johon muodostat yhteyden. Olemme kirjoittaneet selaimesi käyttäjäagentin muuttamisesta ennen - mutta mitä tarkalleen on käyttäjäagentti?
Käyttäjäagentti on "merkkijono" - eli tekstirivi - selaimen ja käyttöjärjestelmän tunnistaminen web-palvelimelle. Tämä kuulostaa yksinkertaiselta, mutta käyttäjäagentit ovat muuttuneet ajan mittaan.
Perusteet
Kun selaimesi muodostaa yhteyden verkkosivustoon, se sisältää käyttäjän-agentin kentän HTTP-otsikossa. Käyttäjäagenttikentän sisältö vaihtelee selaimesta selaimeen. Jokaisella selaimella on oma, erottuva käyttäjäagentti. Käytännössä käyttäjäagentti on tapa, jolla selain voi sanoa "Hei, olen Mozilla Firefox Windowsissa" tai "Hei, olen Safari iPhonessa" web-palvelimelle.
Verkkopalvelin voi käyttää näitä tietoja palvelemaan eri web-sivuja eri verkkoselaimiin ja eri käyttöjärjestelmiin. Verkkosivusto voi esimerkiksi lähettää mobiilisivuja mobiiliselaimille, nykyaikaisille sivuille nykyaikaisille selaimille ja "päivitä selaimesi" -sanoma Internet Explorer 6: lle.
Käyttäjäagenttien tutkiminen
Esimerkiksi tässä 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 web-palvelimelle 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 itse on Firefox 12.
Katsokaamme nyt Internet Explorer 9: n käyttöagenttia, joka on:
Mozilla / 5.0 (yhteensopiva; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)
Käyttäjäagentin merkkijono tunnistaa selaimen IE 9: nä Trident 5: n renderointimoottorin kanssa. Saatat kuitenkin huomata jotain hämmentävää - IE tunnistaa itsensä Mozillaksi.
Tulemme takaisin tähän minuuttiin. Tarkastellaan ensin 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
Tontti paksunee: Chrome teeskentelee olevansa sekä Mozilla että Safari. Ymmärtääksemme, miksi meidän on tutkittava käyttäjäagenttien ja selainten historiaa.
Käyttäjäagentin merkkijono
Mosaic oli yksi ensimmäisistä selaimista. Sen käyttäjäagenttijono oli NCSA_Mosaic / 2.0. Myöhemmin Mozilla tuli (myöhemmin nimeksi Netscape), ja sen käyttäjäagentti oli Mozilla / 1.0. Mozilla oli kehittyneempi selain kuin Mosaic - erityisesti se tuki kehyksiä. Verkkopalvelimet tarkistivat, että käyttäjäagentti sisälsi sanan Mozilla ja lähetetyt sivut, jotka sisältävät kehyksiä Mozilla-selaimille. Muille selaimille web-palvelimet lähettivät vanhat sivut ilman kehyksiä.
Lopulta Microsoftin Internet Explorer tuli ja tuki myös kehyksiä. IE ei kuitenkaan saanut web-sivuja kehyksillä, koska web-palvelimet lähettivät juuri ne Mozilla-selaimille. Tämän ongelman korjaamiseksi Microsoft lisäsi sanan 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 nykyaikaiset verkkosivut. Muut selaimet, jotka tulivat myöhemmin, tekivät saman asian.
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ällä, lisäsi sanat "kuten Gecko", joten he saisivat myös Geckoa varten suunnitellut modernit sivut. WebKit perustui KHTML: hen - kun se kehitettiin, he lisäsivät sanan WebKit ja pitivät alkuperäisen "KHTML: n, kuten Gecko" -linjan yhteensopivuuden vuoksi. Näin selaimen kehittäjät lisäsivät sanoja niiden käyttäjäagentteihin ajan myötä.
Web-palvelimet eivät oikeastaan välitä tarkasta käyttäjäagentin merkkijonoista - he vain tarkistaa, onko siinä tietty sana.
käyttötarkoitukset
Web-palvelimet käyttävät käyttäjäagentteja moniin eri tarkoituksiin, kuten:
- Eri web-sivujen tarjoaminen eri selaimille. Tätä voidaan käyttää hyväksi - esimerkiksi palvelemaan yksinkertaisempia verkkosivuja vanhemmille selaimille - tai pahalle - esimerkiksi "Tämän verkkosivun on katsottava Internet Explorerissa" -viestissä.
- Eri sisältöjen näyttäminen eri käyttöjärjestelmiin - esimerkiksi näyttämällä pienennetty sivu mobiililaitteissa.
- Tilastojen kerääminen, jossa näkyvät käyttäjien käyttämät selaimet ja käyttöjärjestelmät. Jos olet koskaan nähnyt selaimen markkinaosuuden tilastoja, näin heidät hankitaan.
Web-indeksointi-botit käyttävät myös käyttäjäagentteja. Esimerkiksi Googlen web-indeksoija tunnistaa itsensä seuraavasti:
Googlebot / 2.1 (+ http: //www.google.com/bot.html)
Verkkopalvelimet voivat antaa bottien erikoiskäsittelyä - 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äagenttisi Googlebotiin.)
Web-palvelimet voivat myös antaa tilauksia tietyille robotteille (tai kaikille boteille) robots.txt-tiedoston avulla. Esimerkiksi web-palvelin voisi kertoa tietylle botille mennä pois tai kertoa toiselle botille indeksoida vain tietyt verkkosivuston alueet. Robots.txt-tiedostossa käyttäjätunnisteiden merkkijonot tunnistavat robotit.
Kaikki tärkeimmät selaimet sisältävät tapoja määrittää mukautettuja käyttäjäagentteja, joten voit nähdä, mitä web-palvelimia lähetetään eri selaimille. Aseta esimerkiksi työpöydän selain mobiilin selaimen käyttäjäagentin merkkijonoon ja näet työpöydällä olevien verkkosivujen mobiiliversiot.